/* Standard processing & call failure messages */
var processingMsg = '<img src="http://cache1.clear365.com/images/loading.gif" height="20" width="20" />&nbsp; Processing...';
var callFailureMsg = 'We could not process your request at this time. Please try again.';
var emailValidationMsg = 'Sorry, your email address is not validated. Please go to your email, which you have on file with us, and find the Validation Email. If you have not received this email, you may go to My Account and click "Resend Validation Email."';
var loginFailureMsg = 'Invalid username and/or password. Please try again.';
var clwrLoginFailureMsg = 'This username and/or password could not be verified. Please try again.';
var duplicateLoginMsg = 'This account already has a Clear365 profile. Please log in.';

/* Thank You Panel Type */
/* 1 - Normal */
/* 2 - Normal w/ email activation instructions */
/* 3 - Email auto link attempted */
var thankYouPanelType = 1;

/* Email provider for auto email link during sign up */
/* google / googleclear */
var emailProvider = 'google';

/* Begin Add Credit Card (Sign Up) */
/* DEPRECIATED */
/* No longer used. New call in httpsPop.jsp for https */
var addCCSignUpResponseSuccess = function(o) {
	var resXML = o.responseXML.documentElement;
	if (resXML.getElementsByTagName('error-code')[0].childNodes[0].nodeValue == 0) {
		var oCrn = resXML.getElementsByTagName('crn')[0].childNodes[0].nodeValue;      
		signUpBillingSubmit();
	} else {		
		document.getElementById('addCCSignUpProcessing').innerHTML = '';		
	}	
}

var addCCSignUpResponseFailure = function(o) {
	alert("addCCSignUpResponseFailure");
}

var addCCSignUpCallback = {
   success:addCCSignUpResponseSuccess,
   failure:addCCSignUpResponseFailure
}

function addCCSignUp() {
	document.getElementById('addCCSignUpProcessing').innerHTML = processingMsg;
	var formObject = document.getElementById('clearMediaBillingForm'); 	 
	YAHOO.util.Connect.setForm(formObject); 
	var sUrl = 'AddNewCreditCard';
	var cObj = YAHOO.util.Connect.asyncRequest('POST', sUrl, addCCSignUpCallback); 
}
/* End Add Credit Card (Sign Up) */

/*---------------------------------------------------------------------------*/

/* Begin Add Credit Card (Purchase) */
/* No longer used. New call in httpsPop.jsp for https */
var addCCResponseSuccess = function(o) {
	var resXML = o.responseXML.documentElement;
	if (resXML.getElementsByTagName('error-code')[0].childNodes[0].nodeValue == 0) {
		var oCrn = resXML.getElementsByTagName('crn')[0].childNodes[0].nodeValue;      
		document.getElementById('addCCProcessing').innerHTML = '';
		YAHOO.CLWRBuyProcess.clearMediaCCInfo.hide();		
		YAHOO.CLWRBuyProcess.songPurchaseConf.show();
		document.getElementById('songPurchaseConfProcessing').innerHTML = processingMsg;
		document.getElementById('finalSongTitle').innerHTML=document.getElementById('songTitle_'+currentSong).innerHTML;
		document.getElementById('finalArtist').innerHTML=document.getElementById('songArtist_'+currentSong).innerHTML;
		document.getElementById('finalCost').innerHTML=document.getElementById('songPrice_'+currentSong).innerHTML;	
		var finalSongID = document.getElementById('songID_'+currentSong).innerHTML;
		contentPurchase(finalSongID);			
	} else {
		document.getElementById('addCCProcessing').innerHTML = '';		
	}	
}

var addCCResponseFailure = function(o) {
	alert("addCCResponseFailure");
}

var addCCCallback = {
   success:addCCResponseSuccess,
   failure:addCCResponseFailure
}

function addCC() {
	document.getElementById('addCCProcessing').innerHTML = processingMsg;
	var formObject = document.getElementById('clearMediaCCInfoForm'); 	 
	YAHOO.util.Connect.setForm(formObject); 
	var sUrl = 'AddNewCreditCard';
	var cObj = YAHOO.util.Connect.asyncRequest('POST', sUrl, addCCCallback); 
}
/* End Add Credit Card (Purchase) */

/*---------------------------------------------------------------------------*/

/* Begin Get Ext User By Name (Duplicate Username Check) */
/* Used in existing clearwire.com new account sign up */
var checkDuplicateUsernameResponseSuccess = function(o) {
	clearFieldError('clearMediaCurrentSubscriberLogin');
	var resXML = o.responseXML.documentElement;
	if (resXML.getElementsByTagName('error-code')[0].childNodes[0].nodeValue == 10000) {
		throwPromoFeedback('clearMediaCurrentSubscriberLogin',callFailureMsg);
		document.getElementById('clearMediaCurrentSubscriberLoginProcessing').innerHTML = '';	
		document.getElementById('clearMediaCurrentSubscriberLoginButtons').style.display = 'block';
	} else if (resXML.getElementsByTagName('error-code')[0].childNodes[0].nodeValue != 0) {
		cwSignUp_render();
		clearwireCustomer(); 	
	} else {
		var errorMsg = duplicateLoginMsg;
		throwPromoFeedback('clearMediaCurrentSubscriberLogin',errorMsg);
		document.getElementById('clearMediaCurrentSubscriberLoginProcessing').innerHTML = '';
		document.getElementById('clearMediaCurrentSubscriberLoginButtons').style.display = 'block';
	}
}

var checkDuplicateUsernameResponseFailure = function(o) {
	var errorMsg = callFailureMsg;
	throwPromoFeedback('clearMediaCurrentSubscriberLogin',errorMsg);
	document.getElementById('clearMediaCurrentSubscriberLoginProcessing').innerHTML = '';
	document.getElementById('clearMediaCurrentSubscriberLoginButtons').style.display = 'block';
}

var checkDuplicateUsernameCallback = {
	success:checkDuplicateUsernameResponseSuccess,
	failure:checkDuplicateUsernameResponseFailure
}

function checkDuplicateUsername() {
	/* copy username/password to login form for seamless login after acct creation */
	document.getElementById('clearMediaLoginForm').j_username.value = document.getElementById('clearMediaCurrentSubscriberLoginForm').subscriberUsernameText.value;
	document.getElementById('clearMediaLoginForm').j_password.value = document.getElementById('clearMediaCurrentSubscriberLoginForm').subscriberPasswordText.value;
	/* copy username/password to email auto linking form for linking after acct creation */
	document.getElementById('emailAutoLinkForm').j_username.value = document.getElementById('clearMediaCurrentSubscriberLoginForm').subscriberUsernameText.value;
	document.getElementById('emailAutoLinkForm').j_password.value = document.getElementById('clearMediaCurrentSubscriberLoginForm').subscriberPasswordText.value;	
	document.getElementById('emailAutoLinkForm').clear365user.value = document.getElementById('clearMediaCurrentSubscriberLoginForm').subscriberUsernameText.value;

	document.getElementById('clearMediaCurrentSubscriberLoginProcessing').innerHTML = processingMsg;
	/* hide prev/next buttons while processing */
	document.getElementById('clearMediaCurrentSubscriberLoginButtons').style.display = 'none';
	
	var sUrl = 'GetExtUserByName';
	var formObject = document.getElementById('clearMediaCurrentSubscriberLoginForm'); 	 
	YAHOO.util.Connect.setForm(formObject); 	
	var cObj = YAHOO.util.Connect.asyncRequest('POST', sUrl, checkDuplicateUsernameCallback); 
}

/* End Get Ext User By Name (Duplicate Username Check) */

/*---------------------------------------------------------------------------*/

/* Begin Clearwire.com Account Verification */
/* Used in existing clearwire.com new account sign up */
var clearwireCustomerResponseSuccess = function(o) {
	document.getElementById('clearMediaCurrentSubscriberLoginProcessing').innerHTML = '';
	var resXML = o.responseXML.documentElement;
	if (resXML.getElementsByTagName('error-code')[0].childNodes[0].nodeValue == 0) {		
		customerType = 1;
		divRender('clearWireSignUp2');
		clearPromoFeedback('clearWireSignUp2');
		YAHOO.CLWRBuyProcess.clearMediaCurrentSubscriberLogin.hide();
		YAHOO.CLWRBuyProcess.clearMediaCurrentSubscriberLogin.hideMask();
		document.getElementById('clearMediaCurrentSubscriberLoginProcessing').innerHTML = '';						
		document.clearWireSignUp2Form.signUpUserName.value = resXML.getElementsByTagName('username')[0].childNodes[0].nodeValue;
		if (resXML.getElementsByTagName('first-name')[0].childNodes[0]) {
			document.clearWireSignUp2Form.signUpFirstName.value = resXML.getElementsByTagName('first-name')[0].childNodes[0].nodeValue;
		}
		if (resXML.getElementsByTagName('last-name')[0].childNodes[0]) {
			document.clearWireSignUp2Form.signUpLastName.value = resXML.getElementsByTagName('last-name')[0].childNodes[0].nodeValue;
		}
		if (resXML.getElementsByTagName('zip')[0].childNodes[0]) {
			document.clearWireSignUp2Form.signUpZip.value = resXML.getElementsByTagName('zip')[0].childNodes[0].nodeValue;		
		}
		if (resXML.getElementsByTagName('email-address')[0].childNodes[0]) {
			document.clearWireSignUp2Form.signUpEmail.value = resXML.getElementsByTagName('email-address')[0].childNodes[0].nodeValue;		
		}
		if (resXML.getElementsByTagName('account-type-id')[0].childNodes[0]) {
			document.clearWireSignUp2Form.accountType.value = resXML.getElementsByTagName('account-type-id')[0].childNodes[0].nodeValue;
			customerType = resXML.getElementsByTagName('account-type-id')[0].childNodes[0].nodeValue;
		}
		if (resXML.getElementsByTagName('email-provider')[0].childNodes[0]) {
			if (resXML.getElementsByTagName('email-provider')[0].childNodes[0].nodeValue == 'clearwire.net') {
				emailProvider = 'google';
			} else {
				emailProvider = 'googleclear';
			}
			document.getElementById('emailAutoLinkForm').provider.value = emailProvider;
		}		
		/* Determine auto email linking flow */
		if (resXML.getElementsByTagName('emails-included')[0].childNodes[0] && resXML.getElementsByTagName('emails-activated')[0].childNodes[0]) {
			if (resXML.getElementsByTagName('emails-included')[0].childNodes[0].nodeValue == 0 && resXML.getElementsByTagName('emails-activated')[0].childNodes[0].nodeValue == 0) {
				/* No attached email accounts. Bypass email auto linking. Display normal thank you panel */ 
				thankYouPanelType = 1;
			} else if (resXML.getElementsByTagName('emails-included')[0].childNodes[0].nodeValue > 0 && resXML.getElementsByTagName('emails-activated')[0].childNodes[0].nodeValue == 0) {
				/* No attached email accounts. Bypass email auto linking. Display activate email thank you panel */
				thankYouPanelType = 2;
			} else if (resXML.getElementsByTagName('emails-included')[0].childNodes[0].nodeValue > 0 && resXML.getElementsByTagName('emails-activated')[0].childNodes[0].nodeValue > 0) {
				/* Attached email account. Proceed with email auto linking */
				thankYouPanelType = 3;
			}
		}
				
		/* Determine clear/clearwire logo to display */
		if (customerType == 1) {
			document.getElementById('clearWireSignUp2Header').innerHTML = '<img src="images/box/onlyClearwire.gif" border="0"><br><br><h4>Please provide the following information:</h4>';
		} else if (customerType == 6) {
			document.getElementById('clearWireSignUp2Header').innerHTML = '<img src="images/box/onlyClear_logo.gif" border="0"><br><br><h4>Please provide the following information:</h4>';		
		}
		
		/* Mark notification opt-in checkbox as checked */
		document.getElementById('clearYes').checked = true;
		
		YAHOO.CLWRBuyProcess.clearWireSignUp2.show();
		YAHOO.CLWRBuyProcess.clearWireSignUp2.center();
		document.getElementById('cwSignUpFirstName').focus();
	} else {
		var errorMsg = clwrLoginFailureMsg;
		eval("document.getElementById('clearMediaCurrentSubscriberLoginError').innerHTML= '" + errorMsg + "';");
		eval("document.getElementById('clearMediaCurrentSubscriberLoginError').style.display = 'block';");
		document.getElementById('clearMediaCurrentSubscriberLoginProcessing').innerHTML = '';
		document.getElementById('clearMediaCurrentSubscriberLoginButtons').style.display = 'block';
	}	
}

var clearwireCustomerResponseFailure = function(o) {
	document.getElementById('clearMediaCurrentSubscriberLoginProcessing').innerHTML = '';
	var errorMsg = callFailureMsg;
	eval("document.getElementById('clearMediaCurrentSubscriberLoginError').innerHTML= '" + errorMsg + "';");
	eval("document.getElementById('clearMediaCurrentSubscriberLoginError').style.display = 'block';");
}

var clearwireCustomerCallback = {
   success:clearwireCustomerResponseSuccess,
   failure:clearwireCustomerResponseFailure
}

function clearwireCustomer() {
	/* Clear any pre-existing error messages */
	clearFieldError('subscriberUsernameText');
	clearFieldError('subscriberPasswordText');		
	document.getElementById('clearMediaCurrentSubscriberLoginError').style.display = 'none';
	document.getElementById('clearMediaCurrentSubscriberLoginError').innerHTML= '';	
	document.getElementById('clearMediaCurrentSubscriberLoginProcessing').innerHTML = processingMsg;
	var formObject = document.getElementById('clearMediaCurrentSubscriberLoginForm'); 	 
	YAHOO.util.Connect.setForm(formObject); 
	var sUrl = 'ClearwireCustomerDetails';
	var cObj = YAHOO.util.Connect.asyncRequest('POST', sUrl, clearwireCustomerCallback); 
}

/* Begin Clearwire.com Account Verification */

/*---------------------------------------------------------------------------*/

/* Begin Create User */
/* Used in sign up process (both clearwire and clearmedia) */
var createUserResponseSuccess = function(o) {

	//Add omniture tag call for non clearwire customer				
	var s = s_gi(s_account);
	s.templtv=s.linkTrackVars;
	s.templte=s.linkTrackEvents;
	s.linkTrackVars="eVar10,eVar11,events";
	s.linkTrackEvents="event11";
	s.eVar10="newUserDetails";	
	if(customerType == 1){
		s.eVar11="existingClearwire";		
	}
	if(customerType == 1){
		s.eVar11="new customer";
	}
	s.events="event11";				
	s.tl(OmnitureEvent,'o','Sign-Up');
	//End Omniture tag
	
	var resXML = o.responseXML.documentElement;
	if (resXML.getElementsByTagName('error-code')[0].childNodes[0].nodeValue == 0) {		
		YAHOO.CLWRBuyProcess.clearMediaSignUp2.hide();
		YAHOO.CLWRBuyProcess.clearMediaSignUp2.hideMask();
		YAHOO.CLWRBuyProcess.clearWireSignUp2.hide();
		YAHOO.CLWRBuyProcess.clearWireSignUp2.hideMask();
		document.getElementById('clearMediaSignUp2Processing').innerHTML = '';
		document.getElementById('clearWireSignUp2Processing').innerHTML = '';			
		divRender('clearMediaThankYou');
		
		/* Flag for setting focus on next button */
		var focusFlag = 0;

		/* adware tracking codes - mantis #2549 */
		var googleAdWareText = '<img height="1" width="1" border="0" src="http://www.googleadservices.com/pagead/conversion/1053554955/?label=m5E5CP3LXxCL8q_2Aw&amp;script=0"/>'
		document.getElementById('googleadaware').innerHTML = googleAdWareText;
		
		document.getElementById('cmSignUpEmail').innerHTML = resXML.getElementsByTagName('email-address')[0].childNodes[0].nodeValue;	
		
		/* Different thank you panel content depending on customer type */
		if (customerType == 1 && thankYouPanelType == 1) {
			/* Clearwire default thank you panel (no email auto link) */
			document.getElementById('clearMediaThankYouHeader').innerHTML = '<img src="images/box/onlyClearwire.gif" border="0">';
			document.getElementById('clearMediaThankYouContent').innerHTML = '<p>Your account has been set up. An email confirmation has been sent to you at <b>' + document.getElementById('cmSignUpEmail').innerHTML + '</b>.<br><br>Thank you for joining Clear365!</p> </br><div class="clearBoth"></div><div class="divider"></div>';
			document.getElementById('clearMediaThankYouFooter').innerHTML = '<div class="clearfix"><div class="buttons" style="float:right;"><a href="javascript:ssoLoginValidation(document.clearMediaLoginForm);" id="thankYouGetStartedLink"><img src="images/box/getstart_btn.gif" border="0" tabindex="2"></a></div><div>';			
			focusFlag = 1;
		} else if (customerType == 1 && thankYouPanelType == 2) {
			/* Clearwire thank you panel w/ email activation link (no email auto link) */
			document.getElementById('clearMediaThankYouHeader').innerHTML = '<img src="images/box/onlyClearwire.gif" border="0">';
			document.getElementById('clearMediaThankYouContent').innerHTML = '<p>Your account has been set up. An email confirmation has been sent to you at <b>' + document.getElementById('cmSignUpEmail').innerHTML + '</b>.<br><br>Thank you for joining Clear365!</p> </br><div class="clearBoth"></div><div class="divider"></div> <br><p>We have noticed that you have not activated your email account.</p>';
			document.getElementById('clearMediaThankYouFooter').innerHTML = '<div class="buttons" style="height:30px;"><p align="center"><a href="https://www.clearwire.com/my_account/signin.php" target="_blank">Click here to set up your Clearwire email.</a></p></br></div>';			
		} else if (customerType == 1 && thankYouPanelType == 3) {
			/* Clearwire email auto link */
			document.emailAutoLinkForm.submit();
		} else if (customerType == 6 && thankYouPanelType == 1) {
			/* Clear default thank you panel (no email auto link) */					
			document.getElementById('clearMediaThankYouHeader').innerHTML = '<img src="images/box/onlyClear_logo.gif" border="0">';
			document.getElementById('clearMediaThankYouContent').innerHTML = '<p>Your account has been set up. An email confirmation has been sent to you at <b>' + document.getElementById('cmSignUpEmail').innerHTML + '</b>.<br><br>Thank you for joining Clear365!</p> </br><div class="clearBoth"></div><div class="divider"></div>';
			document.getElementById('clearMediaThankYouFooter').innerHTML = '<div class="clearfix"><div class="buttons" style="float:right;"><a href="javascript:ssoLoginValidation(document.clearMediaLoginForm);" id="thankYouGetStartedLink"><img src="images/box/getstart_btn.gif" border="0" tabindex="2"></a></div><div>';		
			focusFlag = 1;
		} else if (customerType == 6 && thankYouPanelType == 2) { 
			/* Clear thank you panel w/ email activation link (no email auto link) */		
			document.getElementById('clearMediaThankYouHeader').innerHTML = '<img src="images/box/onlyClear_logo.gif" border="0">';
			document.getElementById('clearMediaThankYouContent').innerHTML = '<p>Your account has been set up. An email confirmation has been sent to you at <b>' + document.getElementById('cmSignUpEmail').innerHTML + '</b>.<br><br>Thank you for joining Clear365!</p> </br><div class="clearBoth"></div><div class="divider"></div> <br><p>We have noticed that you have not activated your email account.</p>';
			document.getElementById('clearMediaThankYouFooter').innerHTML = '<div class="buttons" style="height:30px;"><p align="center"><a href="https://www.clear.com/my_account/signin.php" target="_blank">Click here to set up your Clear email.</a></p></br></div>';
		} else if (customerType == 6 && thankYouPanelType == 3) {
			/* Clear email auto link */
			document.emailAutoLinkForm.submit();		
		} else {
			/* Clear365 default thank you panel */
			document.getElementById('clearMediaThankYouHeader').innerHTML = '<img src="images/box/clear365_logo.gif" border="0">'
			document.getElementById('clearMediaThankYouContent').innerHTML = '<p>Your account has been set up. An email confirmation has been sent to you at <b>' + document.getElementById('cmSignUpEmail').innerHTML + '</b>.</p><br><br><p>Thank you for joining Clear365!</p>';
			document.getElementById('clearMediaThankYouFooter').innerHTML = '<div class="clearfix"><div class="buttons" style="float:right;"><a href="javascript:ssoLoginValidation(document.clearMediaLoginForm);" id="thankYouGetStartedLink"><img src="images/box/getstart_btn.gif" border="0"></a></div><div>';		
			focusFlag = 1;
		}

		/* Close button on panel will activate auto sso log in */		
		document.getElementById('closeClearMediaThankYou').href = "javascript:ssoLoginValidation(document.clearMediaLoginForm);";
		
		YAHOO.CLWRBuyProcess.clearMediaThankYou.show();
		
		/* Set focus on Get Started button */
		if (focusFlag == 1) {
			document.getElementById('thankYouGetStartedLink').focus();
		} else {
			document.getElementById('closeClearMediaThankYou').focus();
		}
	} else {
		document.getElementById('clearMediaSignUp2Processing').innerHTML = '';
		document.getElementById('clearWireSignUp2Processing').innerHTML = '';
		throwPromoFeedback('clearMediaSignUp2', resXML.getElementsByTagName('error-message')[0].childNodes[0].nodeValue);
		throwPromoFeedback('clearWireSignUp2', resXML.getElementsByTagName('error-message')[0].childNodes[0].nodeValue);
		
	}	
	
	/* Enable Previous/Next/Close buttons */
	document.getElementById('clearMediaSignUp2Ft').style.display = 'block';
	document.getElementById('clearWireSignUp2Ft').style.display = 'block';	
	document.getElementById('clearMediaSignUp2Close').style.display = 'block';
	document.getElementById('clearWireSignUp2Close').style.display = 'block';	
}	

var createUserResponseFailure = function(o) {
	/* Enable Previous/Next/Close buttons */
	document.getElementById('clearMediaSignUp2Ft').style.display = 'block';
	document.getElementById('clearWireSignUp2Ft').style.display = 'block';
	document.getElementById('clearMediaSignUp2Close').style.display = 'block';
	document.getElementById('clearWireSignUp2Close').style.display = 'block';	
	
	document.getElementById('clearMediaSignUp2Processing').innerHTML = '';
	document.getElementById('clearWireSignUp2Processing').innerHTML = '';
	throwPromoFeedback('clearMediaSignUp2', callFailureMsg);
}

var createUserCallback = {
   success:createUserResponseSuccess,
   failure:createUserResponseFailure
}

function createUser(formObject) {
	/* Disable Previous/Next/Close buttons */
	document.getElementById('clearMediaSignUp2Ft').style.display = 'none';
	document.getElementById('clearWireSignUp2Ft').style.display = 'none';
	document.getElementById('clearMediaSignUp2Close').style.display = 'none';
	document.getElementById('clearWireSignUp2Close').style.display = 'none';
	
	/* Clear any previous error message */
	clearPromoFeedback('clearMediaSignUp2');		
	
	/* Show processing images */
	document.getElementById('clearMediaSignUp2Processing').innerHTML = processingMsg;
	document.getElementById('clearWireSignUp2Processing').innerHTML = processingMsg;	
	YAHOO.util.Connect.setForm(formObject); 
	var sUrl = 'CreateUser';
	var cObj = YAHOO.util.Connect.asyncRequest('POST', sUrl, createUserCallback); 
}

/* End Create User */

/*---------------------------------------------------------------------------*/

/* Show/Hide Promo Details div */
function showHidePromoDetails() {
	if (document.getElementById('promoLongDescError').style.display == 'block') {
		document.getElementById('promoLongDescError').style.display = 'none';
	} else {
		throwPromoFeedback('promoLongDesc', longDesc);	
	}
}

/* Begin Validate Promo Code */
/* Used in purchase process */
var validatePromoCodeResponseSuccess = function(o) {
	document.getElementById('promoRules').innerHTML = '';
	clearPromoFeedback('promoFeedback');
	clearPromoFeedback('promoFeedback2');
	clearPromoFeedback('promoLongDesc');
	document.getElementById('songPurchaseConfProcessing').innerHTML = '';		
	var resXML = o.responseXML.documentElement;
	if (resXML.getElementsByTagName('error-code')[0].childNodes[0].nodeValue == 0) {
		appliedPromoCode = document.validatePromoCodeForm.promoCode.value;	
		newPrice = resXML.getElementsByTagName('new-price')[0].childNodes[0].nodeValue;
		longDesc = resXML.getElementsByTagName('long-description')[0].childNodes[0].nodeValue;
		document.getElementById('promoRules').innerHTML = ' To see terms and conditions regarding this promotion, please click <a href=\"javascript:showHidePromoDetails();\">here</a>.'
		throwPromoFeedback('promoFeedback', 'Promo code applied. Your new price is ' + newPrice + '.');
	} else {
		document.validatePromoCodeForm.promoCode.value = "";
		/* If valid promo code, still display promo rules */
		if (resXML.getElementsByTagName('long-description')[0]) {
			longDesc = resXML.getElementsByTagName('long-description')[0].childNodes[0].nodeValue;
			document.getElementById('promoRules').innerHTML = ' To see terms and conditions regarding this promotion, please click <a href=\"javascript:showHidePromoDetails();\">here</a>.'		
		}
		throwPromoFeedback('promoFeedback2', resXML.getElementsByTagName('error-message')[0].childNodes[0].nodeValue);
	}	
}

var validatePromoCodeResponseFailure = function(o) {
	document.getElementById('songPurchaseConfProcessing').innerHTML = '';		
	throwPromoFeedback('promoFeedback2', callFailureMsg);
}

var validatePromoCodeCallback = {
   success:validatePromoCodeResponseSuccess,
   failure:validatePromoCodeResponseFailure
}   

function validatePromoCode() {
	document.validatePromoCodeForm.currentSong.value = document.getElementById('songID_'+currentSong).innerHTML;
	document.getElementById('songPurchaseConfProcessing').innerHTML = processingMsg;
	var formObject = document.getElementById('validatePromoCodeForm'); 	 
	YAHOO.util.Connect.setForm(formObject); 
	var sUrl = 'ValidatePromoCode';
	var cObj = YAHOO.util.Connect.asyncRequest('POST', sUrl, validatePromoCodeCallback); 
}

/*---------------------------------------------------------------------------*/

/* Begin Content Purchase */
/* Used in purchase process */
var contentPurchaseResponseSuccess = function(o) {	
	var resXML = o.responseXML.documentElement;
	if (resXML.getElementsByTagName('error-code')[0].childNodes[0].nodeValue == 0) {
	
		/* Omniture Begin */
		var sku = resXML.getElementsByTagName('sku')[0].childNodes[0].nodeValue;
		var txnId = resXML.getElementsByTagName('transaction-id')[0].childNodes[0].nodeValue;
		var price = resXML.getElementsByTagName('asset-price')[0].childNodes[0].nodeValue;
		var s = s_gi(s_account);
		s.templtv=s.linkTrackVars;
		s.templte=s.linkTrackEvents;
		s.linkTrackVars="products,purchaseID,eVar4,events";
		s.linkTrackEvents="purchase";
		s.events="purchase";
		s.products=";"+sku+";1;"+price;
		s.purchaseID=txnId;
		s.eVar4 = appliedPromoCode;
		s.tl(OmnitureEvent,'o','Purchase');
		if(s.templtv)s.linkTrackVars=s.templtv;
		if(s.templte)s.linkTrackEvents=s.templte;	
		/* Omniture End */
		
		/* Reset promo code */
		appliedPromoCode = '';
		if (resXML.getElementsByTagName('asset-type')[0].childNodes[0].nodeValue == 'track') {
			/* adware tracking codes - mantis #2549 */
			// trackAdwordsText - Adwords Conversion Tracking Codes variable for 'Track' purchase
			var trackAdwordsText = '<img height="1" width="1" border="0" src="http://www.googleadservices.com/pagead/conversion/1053554955/?label=a8MlCNfMXxCL8q_2Aw&amp;script=0"/>'
			document.getElementById('googleadaware').innerHTML = trackAdwordsText;

			var sku = resXML.getElementsByTagName('sku')[0].childNodes[0].nodeValue;
			var txnId = resXML.getElementsByTagName('transaction-id')[0].childNodes[0].nodeValue;
			//getDownloadLocation(sku,txnId); 09/25/08 - eyu: removed recommendations
			finalPurchase();
		} else if (resXML.getElementsByTagName('asset-type')[0].childNodes[0].nodeValue == 'album') {
			/* adware tracking codes - mantis #2549 */
			// albumAdwordsText - Adwords Conversion Tracking Codes variable for 'Album' purchase
			var albumAdwordsText = '<img height="1" width="1" border="0" src="http://www.googleadservices.com/pagead/conversion/1053554955/?label=a8MlCNfMXxCL8q_2Aw&amp;script=0"/>'
			document.getElementById('googleadaware').innerHTML = albumAdwordsText;

			clearPromoFeedback('promoFeedback');
			YAHOO.CLWRBuyProcess.clearMediaCCInfo.hide();		
			YAHOO.CLWRBuyProcess.songPurchaseConf.show();						
			//findRecs(); 09/25/08 - eyu: removed recommendations
			finalPurchase();
		}
	/* Edge case where final price (price + tax) > CBN */
	} else if (resXML.getElementsByTagName('error-code')[0].childNodes[0].nodeValue == '143' && accountHolder == 'true') {
		forceCRN = 'true';
		YAHOO.CLWRBuyProcess.songPurchaseConf.hide();
		YAHOO.CLWRBuyProcess.songPurchaseConf.hideMask();
		divRender('clearMediaCCInfo');
		YAHOO.CLWRBuyProcess.clearMediaCCInfo.show();
		YAHOO.CLWRBuyProcess.clearMediaCCInfo.center();	
		document.getElementById('billNameText').focus();		
	} else {
		var contentPurchaseErrorMsg = resXML.getElementsByTagName('error-message')[0].childNodes[0].nodeValue;
		if (resXML.getElementsByTagName('error-code')[0].childNodes[0].nodeValue == '110') {
			purchaseOverride = 'true';
		} else if (resXML.getElementsByTagName('error-code')[0].childNodes[0].nodeValue == '143') {
			forceCRN = 'true';
		} else if (resXML.getElementsByTagName('error-code')[0].childNodes[0].nodeValue == '201') {
			contentPurchaseErrorMsg += '<br />Please click <a href="myAccountLanding.htm">My Account</a> to update your zipcode.';
		}
		document.getElementById('closeButton').style.display = 'block';
		document.getElementById('songPurchFt').style.display = 'block';		
		document.getElementById('promoSubmit').style.display = 'inline';
		document.getElementById('songPurchaseConfProcessing').innerHTML = '';		
		throwPromoFeedback('promoFeedback2', contentPurchaseErrorMsg);
	}	
}

var contentPurchaseResponseFailure = function(o) {
	document.getElementById('songPurchFt').style.display = 'block';			
	document.getElementById('promoSubmit').style.display = 'inline';
	document.getElementById('songPurchaseConfProcessing').innerHTML = '';		
	throwPromoFeedback('promoFeedback2', callFailureMsg);
}

var contentPurchaseCallback = {
   success:contentPurchaseResponseSuccess,
   failure:contentPurchaseResponseFailure
}

function contentPurchase(trackId) {
	var currentPromo = document.validatePromoCodeForm.promoCode.value;
	var sUrl = 'ContentPurchase';
	var cObj = YAHOO.util.Connect.asyncRequest('POST', sUrl, contentPurchaseCallback, 'response=xml&trackId=' + trackId + '&promoCode=' + currentPromo + '&override=' + purchaseOverride); 
}
/* End Content Purchase */

/*---------------------------------------------------------------------------*/

/* Begin Get Medianet Download Location */
/* Used in purchase process after successful content purchase */
var getDownloadLocationResponseSuccess = function(o) {
	var resXML = o.responseXML.documentElement;
	if (resXML.getElementsByTagName('error-code')[0].childNodes[0].nodeValue == 0) {
		var oDownloadLocation = resXML.getElementsByTagName('download-location')[0].childNodes[0].nodeValue;      
		var oSku = resXML.getElementsByTagName('sku')[0].childNodes[0].nodeValue;      
		var downloadText = 'Download your item <a href="StreamingContent?url=' + oDownloadLocation + '&sku=' + oSku + '" target="_blank">here</a>'
		findRecs();
	} else {
		alert(o.responseText);
	}	
}

var getDownloadLocationResponseFailure = function(o) {
	alert("getDownloadLocationResponseFailure");
}

var getDownloadLocationCallback = {
   success:getDownloadLocationResponseSuccess,
   failure:getDownloadLocationResponseFailure
}

function getDownloadLocation(sku,txnId) {
	var sUrl = 'MediaNetDownload';
	var cObj = YAHOO.util.Connect.asyncRequest('POST', sUrl, getDownloadLocationCallback, 'response=xml&sku=' + sku + '&txnId=' + txnId); 
}
/* End Get Medianet Download Location */

/*---------------------------------------------------------------------------*/

/* Begin Get Medianet Preview Location */
/* Used on music pages for audio previews */
var getPreviewLocationResponseSuccess = function(o) {
	var resXML = o.responseXML.documentElement;
	if (resXML.getElementsByTagName('error-code')[0].childNodes[0].nodeValue == 0) {
		var locationUri = resXML.getElementsByTagName('location-uri')[0].childNodes[0].nodeValue;
		var resourceUri = resXML.getElementsByTagName('resource-uri')[0].childNodes[0].nodeValue;
		callPreview(locationUri,resourceUri);
	} else {
		//alert(o.responseText);
	}	
}

var getPreviewLocationResponseFailure = function(o) {
	//alert("getPreviewLocationResponseFailure");
}

var getPreviewLocationCallback = {
   success:getPreviewLocationResponseSuccess,
   failure:getPreviewLocationResponseFailure
}

function getPreviewLocation(trackId) {
	var sUrl = 'MediaNetPreview';
	var cObj = YAHOO.util.Connect.asyncRequest('POST', sUrl, getPreviewLocationCallback, 'response=xml&trackId=' + trackId); 
}
/* End Get Medianet Preview Location */

/*---------------------------------------------------------------------------*/

/* Begin Get Account */
/* Used in purchase process; verify account has CRN */
/* If email not validated, error out before add cc info prompt */
/* If no CRN, go to add new credit card yui panel, else go straight to content purchase */
var getAccountResponseSuccess = function(o) {
	var resXML = o.responseXML.documentElement;
	/* Check account holder status for final price > CBN edge case */
	if (resXML.getElementsByTagName('account-holder')[0].childNodes[0].nodeValue == 'true') {
		accountHolder = 'true';
	}
	
	if (resXML.getElementsByTagName('error-code')[0].childNodes[0].nodeValue == 0) {
		if (resXML.getElementsByTagName('email-validation-flag')[0].childNodes[0].nodeValue == 'false') {
			document.getElementById("closeButton").style.display = "block";
			document.getElementById('songPurchFt').style.display = 'block';			
			document.getElementById('promoSubmit').style.display = 'inline';
			document.getElementById('songPurchaseConfProcessing').innerHTML = '';		
			throwPromoFeedback('promoFeedback2', emailValidationMsg);
		} else if (parseFloat(resXML.getElementsByTagName('credit-balance')[0].childNodes[0].nodeValue) >= parseFloat(tempPrice) && forceCRN == 'false') {
			var finalSongID = document.getElementById('songID_'+currentSong).innerHTML;
			contentPurchase(finalSongID);			
		} else if (resXML.getElementsByTagName('crn')[0].childNodes[0].nodeValue != 'null') {
			var finalSongID = document.getElementById('songID_'+currentSong).innerHTML;
			contentPurchase(finalSongID);
		} else if (resXML.getElementsByTagName('account-holder')[0].childNodes[0].nodeValue == 'true') {
			YAHOO.CLWRBuyProcess.songPurchaseConf.hide();
			YAHOO.CLWRBuyProcess.songPurchaseConf.hideMask();
			divRender('clearMediaCCInfo');
			YAHOO.CLWRBuyProcess.clearMediaCCInfo.show();
			YAHOO.CLWRBuyProcess.clearMediaCCInfo.center();	
			document.getElementById('billNameText').focus();
		} else {
			document.getElementById("closeButton").style.display = "block";		
			document.getElementById('songPurchFt').style.display = 'block';		
			document.getElementById('promoSubmit').style.display = 'inline';
			document.getElementById('songPurchaseConfProcessing').innerHTML = '';		
			throwPromoFeedback('promoFeedback2', 'Please contact your Primary Account Holder to add a credit card on file.');
		}
	} else {
		document.getElementById("closeButton").style.display = "block";	
		document.getElementById('songPurchFt').style.display = 'block';	
		document.getElementById('promoSubmit').style.display = 'inline';
		document.getElementById('songPurchaseConfProcessing').innerHTML = '';		
		throwPromoFeedback('promoFeedback2', callFailureMsg);
	}	
}

var getAccountResponseFailure = function(o) {
	document.getElementById("closeButton").style.display = "block";
	document.getElementById('songPurchFt').style.display = 'block';		
	document.getElementById('promoSubmit').style.display = 'inline';
	document.getElementById('songPurchaseConfProcessing').innerHTML = '';		
	throwPromoFeedback('promoFeedback2', callFailureMsg);
}

var getAccountCallback = {
   success:getAccountResponseSuccess,
   failure:getAccountResponseFailure
}

function getAccount() {
	var sUrl = 'GetAccountAndBalanceDetails';
	var cObj = YAHOO.util.Connect.asyncRequest('POST', sUrl, getAccountCallback, 'response=xml'); 
}
/* End Get Account */

/*---------------------------------------------------------------------------*/

/* Begin Get Email (Forgot Password) */
var getForgotPassEmailResponseSuccess = function(o) {
	document.getElementById('forgotPassProcessing').innerHTML = '';
	var resXML = o.responseXML.documentElement;
	if (resXML.getElementsByTagName('error-code')[0].childNodes[0].nodeValue == 0) {
		YAHOO.CLWRBuyProcess.forgotPass.hide();
		divRender('passOptions');
		document.getElementById('passOptionsEmail').innerHTML = resXML.getElementsByTagName('email')[0].childNodes[0].nodeValue;		
		document.getElementById('forgotPassGUID').innerHTML = resXML.getElementsByTagName('provider-user-key')[0].childNodes[0].nodeValue;		
		document.getElementById('forgotPassQuestion').innerHTML = resXML.getElementsByTagName('password-question')[0].childNodes[0].nodeValue;	
		document.getElementById('forgotPassQuestionForm').question.value = resXML.getElementsByTagName('password-question')[0].childNodes[0].nodeValue;				
		document.getElementById('forgotPassQuestionForm').guid.value = resXML.getElementsByTagName('provider-user-key')[0].childNodes[0].nodeValue;		
		YAHOO.CLWRBuyProcess.passOptions.show();
	} else {
		throwPromoFeedback('forgotPass', resXML.getElementsByTagName('error-message')[0].childNodes[0].nodeValue);
	}	
}

var getForgotPassEmailResponseFailure = function(o) {
	document.getElementById('forgotPassProcessing').innerHTML = '';
	throwPromoFeedback('forgotPass', callFailureMsg);
}

var getForgotPassEmailCallback = {
   success:getForgotPassEmailResponseSuccess,
   failure:getForgotPassEmailResponseFailure
}

function getForgotPassEmail() {
	document.getElementById('newPasswordForm').un.value = document.forgotPassForm.subscriberUsernameText.value;
	document.getElementById('forgotPassUsername').innerHTML = document.forgotPassForm.subscriberUsernameText.value;
	document.getElementById('forgotPassProcessing').innerHTML = processingMsg;
	var formObject = document.getElementById('forgotPassForm'); 	 
	YAHOO.util.Connect.setForm(formObject); 	
	var sUrl = 'GetExtUserByName';
	var cObj = YAHOO.util.Connect.asyncRequest('POST', sUrl, getForgotPassEmailCallback); 
}
/* End Get Email (Forgot Password) */

/*---------------------------------------------------------------------------*/

/* Begin Send Forgot Pass Email */
var sendForgotPassEmailResponseSuccess = function(o) {
	var resXML = o.responseXML.documentElement;
	YAHOO.CLWRBuyProcess.passOptions.hide();
	divRender('clearMediaThankYou');	
	if (resXML.getElementsByTagName('error-code')[0].childNodes[0].nodeValue == 0) {
		document.getElementById('clearMediaThankYouContent').innerHTML = '<h4>Thank you!</h4><br><br><p>An email has been sent to you at ' + document.getElementById('passOptionsEmail').innerHTML + '. Please click on the link included in that email to reset your password.</p>';
		document.getElementById('clearMediaThankYouFooter').innerHTML = "";
		YAHOO.CLWRBuyProcess.clearMediaThankYou.show();
		document.getElementById('closeClearMediaThankYou').focus();
	} else {
		document.getElementById('clearMediaThankYouContent').innerHTML = '<p>We\'re sorry, an unexpected error has occurred. Please try again.</p>';
		YAHOO.CLWRBuyProcess.clearMediaThankYou.show();		
		document.getElementById('closeClearMediaThankYou').focus();
	}	
}

var sendForgotPassEmailResponseFailure = function(o) {
	YAHOO.CLWRBuyProcess.passOptions.hide();
	divRender('clearMediaThankYou');	
	document.getElementById('clearMediaThankYouContent').innerHTML = callFailureMsg;
	YAHOO.CLWRBuyProcess.clearMediaThankYou.show();
}

var sendForgotPassEmailCallback = {
   success:sendForgotPassEmailResponseSuccess,
   failure:sendForgotPassEmailResponseFailure
}

function sendForgotPassEmail() {
	document.sendForgotPassEmailForm.un.value = document.getElementById('forgotPassUsername').innerHTML;
	var formObject = document.getElementById('sendForgotPassEmailForm'); 	 
	YAHOO.util.Connect.setForm(formObject); 	
	var sUrl = 'ResetPassword';
	var cObj = YAHOO.util.Connect.asyncRequest('POST', sUrl, sendForgotPassEmailCallback); 	
}

/* End Send Forgot Pass Email */

/*---------------------------------------------------------------------------*/

/* Begin Verify DOB */
/* Used in forgot password process; must answer correctly in order to see security question */
var verifyDOBResponseSuccess = function(o) {
	document.getElementById('confirmDOBProcessing').innerHTML = '';
	var resXML = o.responseXML.documentElement;
	if (resXML.getElementsByTagName('error-code')[0].childNodes[0].nodeValue == 0) {
		YAHOO.CLWRBuyProcess.confirmDOB.hide();
		divRender('forgotPassSecurityQuestion');
		YAHOO.CLWRBuyProcess.forgotPassSecurityQuestion.show();
		document.getElementById('mothersText').focus();
	} else {
		throwPromoFeedback('confirmDOB', 'We are unable to verify the information you provided. Please try again.');
	}	
}

var verifyDOBResponseFailure = function(o) {
	document.getElementById('confirmDOBProcessing').innerHTML = '';
	throwPromoFeedback('confirmDOB', callFailureMsg);
}

var verifyDOBCallback = {
   success:verifyDOBResponseSuccess,
   failure:verifyDOBResponseFailure
}

function verifyDOB() {
	document.getElementById('confirmDOBGUID').value = document.getElementById('forgotPassGUID').innerHTML;
	document.getElementById('confirmDOBProcessing').innerHTML = processingMsg;
	var formObject = document.getElementById('confirmDOBForm'); 	 
	YAHOO.util.Connect.setForm(formObject); 	
	var sUrl = 'VerifyDOB';
	var cObj = YAHOO.util.Connect.asyncRequest('POST', sUrl, verifyDOBCallback); 	
}
/* End Verify DOB */

/*---------------------------------------------------------------------------*/

/* Begin Verify Security Answer */
/* Used in forgot password process; must answer correctly in order to set new password */
var verifySecurityAnswerResponseSuccess = function(o) {
	document.getElementById('forgotPassQuestionProcessing').innerHTML = '';
	var resXML = o.responseXML.documentElement;
	if (resXML.getElementsByTagName('error-code')[0].childNodes[0].nodeValue == 0) {
		YAHOO.CLWRBuyProcess.forgotPassSecurityQuestion.hide();
		divRender('newPassword');
		YAHOO.CLWRBuyProcess.newPassword.show();	
		document.getElementById('passwordText').focus();
	} else {
		throwPromoFeedback('forgotPassQuestion', 'The answer does not match what we have on file for your account. Please try again.');
	}	
}

var verifySecurityAnswerResponseFailure = function(o) {
	document.getElementById('forgotPassQuestionProcessing').innerHTML = '';
	throwPromoFeedback('forgotPassQuestion', callFailureMsg);
}

var verifySecurityAnswerCallback = {
   success:verifySecurityAnswerResponseSuccess,
   failure:verifySecurityAnswerResponseFailure
}

function verifySecurityAnswer() {
	document.getElementById('forgotPassQuestionProcessing').innerHTML = processingMsg;
	var formObject = document.getElementById('forgotPassQuestionForm'); 	 
	YAHOO.util.Connect.setForm(formObject); 	
	var sUrl = 'VerifySecurityAnswer';
	var cObj = YAHOO.util.Connect.asyncRequest('POST', sUrl, verifySecurityAnswerCallback); 	
}

/* End Verify Security Answer */

/*---------------------------------------------------------------------------*/

/* Begin Reset Password */
var resetPasswordResponseSuccess = function(o) {
	var resXML = o.responseXML.documentElement;	
	if (resXML.getElementsByTagName('error-code')[0].childNodes[0].nodeValue == 0) {
		membershipChangePassword();
	} else {
		throwPromoFeedback('newPassword', resXML.getElementsByTagName('error-message')[0].childNodes[0].nodeValue);
		document.getElementById('newPasswordProcessing').innerHTML = '';
	}	
}

var resetPasswordResponseFailure = function(o) {
	document.getElementById('newPasswordProcessing').innerHTML = '';	
	throwPromoFeedback('newPassword', callFailureMsg);
}

var resetPasswordCallback = {
   success:resetPasswordResponseSuccess,
   failure:resetPasswordResponseFailure
}

function resetPassword() {
	document.getElementById('newPasswordProcessing').innerHTML = processingMsg;
	var formObject = document.getElementById('newPasswordForm'); 	 
	YAHOO.util.Connect.setForm(formObject); 	
	var sUrl = 'ResetPassword';
	var cObj = YAHOO.util.Connect.asyncRequest('POST', sUrl, resetPasswordCallback); 	
}

/* End Reset Password */

/*---------------------------------------------------------------------------*/

/* Begin Membership Change Password */
var membershipChangePasswordResponseSuccess = function(o) {
	document.getElementById('newPasswordProcessing').innerHTML = '';
	var resXML = o.responseXML.documentElement;	
	if (resXML.getElementsByTagName('error-code')[0].childNodes[0].nodeValue == 0) {
		YAHOO.CLWRBuyProcess.newPassword.hide();
		divRender('clearMediaThankYou');
		YAHOO.CLWRBuyProcess.clearMediaThankYou.show();
		document.getElementById('clearMediaThankYouHeader').innerHTML="&nbsp;";		
		document.getElementById('clearMediaThankYouContent').innerHTML='<br><br><br><p>Your password has been changed. Please log in with your new password.</p><div class="buttons" style="float:right;"><a href="javascript:YAHOO.CLWRBuyProcess.clearMediaThankYou.hide();YAHOO.CLWRBuyProcess.clearMediaLogin.show();" id="thankYouLogInLink"><img src="images/box/login_btn.gif" border="0"></a><br></div>';
		document.getElementById('clearMediaThankYouFooter').innerHTML='<div class="buttons"></div>';
		document.getElementById('thankYouLogInLink').focus();
	} else {
		throwPromoFeedback('newPassword','An unexpected error has occurred. Please try again.');
	}	
}

var membershipChangePasswordResponseFailure = function(o) {
	document.getElementById('newPasswordProcessing').innerHTML = '';	
	throwPromoFeedback('newPassword', callFailureMsg);
}

var membershipChangePasswordCallback = {
   success:membershipChangePasswordResponseSuccess,
   failure:membershipChangePasswordResponseFailure
}

function membershipChangePassword() {
	var formObject = document.getElementById('newPasswordForm'); 	 
	YAHOO.util.Connect.setForm(formObject); 	
	var sUrl = 'MembershipChangePassword';
	var cObj = YAHOO.util.Connect.asyncRequest('POST', sUrl, membershipChangePasswordCallback); 	
}

/* End Membership Change Password */

/*---------------------------------------------------------------------------*/

/* Begin Recommendation */
/* Used in purchase process; after successful content purchase, but before thank you yui panel */
/* 09/25/08 - eyu: Removed from purchase flow for performance reasons */
var findRecsResponseSuccess = function(o) {
	var resXML = o.responseXML.documentElement;
	document.getElementById("RecSong1Name").innerHTML = "";
	document.getElementById("RecSong2Name").innerHTML = "";
	document.getElementById("RecSong3Name").innerHTML = "";
	document.getElementById("RecSong1Id").href = "";
	document.getElementById("RecSong2Id").href = "";
	document.getElementById("RecSong2Id").href = "";
	
	if (resXML.getElementsByTagName('error-code')[0].childNodes[0].nodeValue == 0) {
		document.getElementById("recText").innerHTML = "You might also be interested in: ";
		//First Song
		if(resXML.getElementsByTagName('Song1Name')[0] && document.getElementById("RecSong1Name") != null)
			document.getElementById("RecSong1Name").innerHTML = resXML.getElementsByTagName('Song1Name')[0].childNodes[0].nodeValue;
				
		if(resXML.getElementsByTagName('Song1Id')[0] && document.getElementById("RecSong1Id") != null)
			document.getElementById("RecSong1Id").href = resXML.getElementsByTagName('Song1Id')[0].childNodes[0].nodeValue;

		//Second song
		if(resXML.getElementsByTagName('Song2Name')[0] && document.getElementById("RecSong2Name") != null)
			document.getElementById("RecSong2Name").innerHTML = resXML.getElementsByTagName('Song2Name')[0].childNodes[0].nodeValue;

		if(resXML.getElementsByTagName('Song2Id')[0] && document.getElementById("RecSong2Id") != null)
			document.getElementById("RecSong2Id").href = resXML.getElementsByTagName('Song2Id')[0].childNodes[0].nodeValue;

		//Third song
		if(resXML.getElementsByTagName('Song3Name')[0] && document.getElementById("RecSong3Name") != null)
			document.getElementById("RecSong3Name").innerHTML = resXML.getElementsByTagName('Song3Name')[0].childNodes[0].nodeValue;

		if(resXML.getElementsByTagName('Song3Id')[0] && document.getElementById("RecSong3Id") != null)
			document.getElementById("RecSong3Id").href = resXML.getElementsByTagName('Song3Id')[0].childNodes[0].nodeValue;
						
	} else {
		document.getElementById("recText").innerHTML = "";
	}
	finalPurchase();
}

var findRecsResponseFailure = function(o) {
	//alert("findRecsResponseFailure");
}

var findRecsCallback = {
	success: findRecsResponseSuccess, 
	failure: findRecsResponseFailure
}

function findRecs() {
	var sUrl = "Recommendation?id="+currentSong+"&response=xml";
	var cObjc = YAHOO.util.Connect.asyncRequest('POST', sUrl, findRecsCallback); 
}
/* End Recommendation */

/*---------------------------------------------------------------------------*/

/* Charge, then download */
/* Called anytime customer is logged on, and presses 'BUY' */
/* Only check for CRN if price is not $0 or price > CBN */
function chargeAndDownload() {
	clearPromoFeedback('promoFeedback2');
	document.getElementById("closeButton").style.display = "none";
	document.getElementById('songPurchaseConfProcessing').innerHTML = processingMsg;
	
	/* Check if promo code has changed */
	if (appliedPromoCode != document.validatePromoCodeForm.promoCode.value) {
		throwPromoFeedback('promoFeedback', 'If you want this new promo code applied to your order, please hit apply first.');
		document.getElementById('songPurchaseConfProcessing').innerHTML = '';
	} else {
		if (newPrice != '$0.00') { 
			/* Calculate final price w/ or w/out promo applied */
			document.getElementById('songPurchFt').style.display = 'none';
			document.getElementById('promoSubmit').style.display = 'none';
			if (newPrice == '') {
				tempPrice = document.getElementById('songPrice_'+currentSong).innerHTML;
			} else {
				tempPrice = newPrice;
			}
			tempPrice = tempPrice.substring(1);
			/* Check if CRN exists for account */
			getAccount();
		} else {
			var finalSongID = document.getElementById('songID_'+currentSong).innerHTML;
			contentPurchase(finalSongID);
		}
	}
}

/* Allow purchase process to be continuous for non-logged in user */
/* Persists track so that non-logged in user will be shown purchase confirmation for selected content after successful login */
function persistTrack() {
	document.clearMediaLoginForm.cpid.value = document.getElementById('songID_'+currentSong).innerHTML;
}

/* In case failed login attempt and stil want to persist (js doesn't support overloading) */
function persistTrack2(cpid) {
	document.clearMediaLoginForm.cpid.value = cpid;
}

/* Login */
function ssoLogin() {
	divRender('clearMediaLogin');
	/* Check if remember me cookie is present for customized login popup */
	if (readCookie('guid') != null) {
		document.getElementById('clearMediaLoginHeaderText').innerHTML = 'Please re-enter your account information to access this secure area:';
		document.getElementById('rememberMeCheckbox').style.display = 'none';
		document.getElementById('clearMediaLoginFooterText').style.display = 'none';
		
	} else {
		document.getElementById('clearMediaLoginHeaderText').innerHTML = 'Please Log In:';
		document.getElementById('rememberMeCheckbox').style.display = 'block';
		document.getElementById('clearMediaLoginFooterText').style.display = 'block';
	
	}
	YAHOO.CLWRBuyProcess.clearMediaLogin.show();
	document.getElementById('loginUsernameText').focus();
}

function ssoLoginSubmission() {
	document.clearMediaLoginForm.submit();
}

function purchaseLoad(trackId) {
	purchase_render();
	currentSong=trackId;
	makePurchase();
}

/* On failed login attempt, automatically bring up login yui panel with error message */
function loginError(status) {
	sso_render();
	ssoLogin();
	
	var errorMsg = loginFailureMsg;	
	if (status == 'timeout') {
		errorMsg = 'For security reasons, we have signed you out due to inactivity. Please log in again to continue.';
	} else if (status == 'rememberMeFail') {
		errorMsg = 'For security reasons, we could not automatically log you in. Please log in again to continue.';
	}
	eval("document.getElementById('loginTextError').innerHTML= '" + errorMsg + "';");
	eval("document.getElementById('loginTextError').style.display = 'block';");
}

/* On failed photobucket login attempt, automatically bring up login yui panel with error message */
function pbLoginError() {
	photosLanding_render();
	loginPop();
	var errorMsg = loginFailureMsg;
	eval("document.getElementById('pbLoginTextError').innerHTML= '" + errorMsg + "';");
	eval("document.getElementById('pbLoginTextError').style.display = 'block';");
}

/* Rendering yui panels */
function divRender(div) {
	if (div == 'clearMediaLogin') {
		clearMediaLoginEvent.fire();
		YAHOO.CLWRBuyProcess.clearMediaLogin.render();
		clearFieldError('loginUsernameText');
		clearFieldError('loginPasswordText');		
	} else if (div == 'clearMediaSignUp1') {
		clearMediaSignUp1Event.fire();
		YAHOO.CLWRBuyProcess.clearMediaSignUp1.render();
		document.getElementById('signClearInfoTextMsg').style.display = 'none';
		document.getElementById('signClearwireInfoTextMsg').style.display = 'none';
		document.getElementById('signCClearwireInfoTextMsg').style.display = 'none';		
	} else if (div == 'clearMediaSignUp2') {	
		clearMediaSignUp2Event.fire();
		YAHOO.CLWRBuyProcess.clearMediaSignUp2.render();
		clearFieldError('signUpFirstName');
		clearFieldError('signUpLastName');
		clearFieldErrorById('signUpDOBMonth','signUpDOBError');
		clearFieldErrorById('signUpDOBDate','signUpDOBError');	
		clearFieldErrorById('signUpDOBYear','signUpDOBError');		
		clearFieldError('signUpZip');
		clearFieldError('signUpSecurityQuestion');
		clearFieldError('signUpSecurityQuestionAnswer');
		clearFieldError('signUpEmail');
		clearFieldError('signUpEmailVerify');
		clearFieldError('signUpUserName');
		clearFieldError('signUpPassword');
		clearFieldError('signUpPasswordVerify');
		clearPromoFeedback('clearMediaSignUp2');		
	} else if (div == 'clearWireSignUp2') {
		clearWireSignUp2Event.fire();
		YAHOO.CLWRBuyProcess.clearWireSignUp2.render();
		clearFieldError('cwSignUpFirstName');
		clearFieldError('cwSignUpLastName');
		clearFieldErrorById('cwSignUpDOBMonth','cwSignUpDOBError');
		clearFieldErrorById('cwSignUpDOBDate','cwSignUpDOBError');	
		clearFieldErrorById('cwSignUpDOBYear','cwSignUpDOBError');		
		clearFieldError('cwSignUpZip');
		clearFieldError('cwSignUpSecurityQuestion');
		clearFieldError('cwSignUpSecurityQuestionAnswer');
		clearFieldError('cwSignUpEmail');
		clearFieldError('cwAgreeTerms');		
	} else if (div == 'clearMediaCurrentSubscriberLogin') {
		clearMediaCurrentSubscriberLoginEvent.fire();
		YAHOO.CLWRBuyProcess.clearMediaCurrentSubscriberLogin.render();
		clearFieldError('subscriberUsernameText');	
		clearFieldError('subscriberPasswordText');			
		clearPromoFeedback('clearMediaCurrentSubscriberLogin');
		document.getElementById('clearMediaCurrentSubscriberLoginButtons').style.display = 'block';
	} else if (div == 'clearMediaThankYou') {
		clearMediaThankYouEvent.fire();
		YAHOO.CLWRBuyProcess.clearMediaThankYou.render();
		document.getElementById('clearMediaThankYouHeader').innerHTML="&nbsp;";
/*
	} else if (div == 'clearMediaBilling') {		
		YAHOO.CLWRBuyProcess.clearMediaBilling.render();
		clearFieldError('billingFirstName');
		clearFieldError('billingLastName');
		clearFieldError('billingAddress');
		clearFieldError('billingCity');
		clearFieldError('billingState');
		clearFieldError('billingZip');
		clearFieldError('billingPhone');
		clearFieldError('billingCCType');
		clearFieldError('billingCCNumber');
		clearFieldErrorById('billingCCExpDateMonth','billingCCExpError');
		clearFieldErrorById('billingCCExpDateYear','billingCCExpError');		
		clearFieldError('billingCVV');		
		clearPromoFeedback('addCCSignUp');			
*/
	} else if (div == 'clearMediaCCInfo') {
		clearMediaCCInfoEvent.fire();
		YAHOO.CLWRBuyProcess.clearMediaCCInfo.render();
		YAHOO.CLWRBuyProcess.clearMediaCCInfo.center();
		clearFieldError('billNameText');
		clearFieldError('billAddressText');
		clearFieldError('cityText');
		clearFieldError('zipText');
		clearFieldError('billingCCTypeText');
		clearFieldError('ccNumberText');
		clearFieldError('ccSecurityText');
		clearFieldErrorById('expMonthObj','expError');
		clearFieldErrorById('expYearObj','expError');		
		document.getElementById('billingCVVInfoTextMsg').style.display = 'none';
	} else if (div == 'songPurchaseConf') {		
		songPurchaseConfEvent.fire();
		YAHOO.CLWRBuyProcess.songPurchaseConf.render();
		//document.getElementById('songPurchaseConf').innerHTML=origConfCode;
		/* Reset any pre-existing promo */
		appliedPromoCode = '';
		document.validatePromoCodeForm.promoCode.value = '';
		purchaseOverride = 'false';
		newPrice = '';
		clearPromoFeedback('promoFeedback');
		clearPromoFeedback('promoFeedback2');
		clearPromoFeedback('promoLongDesc');
		document.getElementById('promoRules').innerHTML = '';
		document.getElementById('songPurchaseConfProcessing').innerHTML = '';
		document.getElementById("closeButton").style.display = 'block';
		document.getElementById('songPurchFt').style.display = 'block';
		document.getElementById('promoSubmit').style.display = 'inline';
	} else if (div == 'confText') {
		confTextEvent.fire();
		YAHOO.CLWRBuyProcess.confText.render();	
	} else if (div =='forgotPass') {
		forgotPassEvent.fire();
		YAHOO.CLWRBuyProcess.forgotPass.render();
		clearPromoFeedback('forgotPass');
		document.getElementById('forgotPassUser').value = '';
	} else if (div =='passOptions') {
		passOptionsEvent.fire();
		YAHOO.CLWRBuyProcess.passOptions.render();
	} else if (div =='confirmDOB') {
		confirmDOBEvent.fire();
		YAHOO.CLWRBuyProcess.confirmDOB.render();
		clearPromoFeedback('confirmDOB');
	} else if (div =='forgotPassSecurityQuestion') {
		forgotPassSecurityQuestionEvent.fire();
		YAHOO.CLWRBuyProcess.forgotPassSecurityQuestion.render();
	} else if (div =='newPassword') {
		newPasswordEvent.fire();
		YAHOO.CLWRBuyProcess.newPassword.render();
	} else if (div == 'changeDiv') {
		YAHOO.CLWRBuyProcess.changeDiv.render();
	} 
	document.getElementById(div).style.display = 'block';	
}

// Local Landing - Change location popup
function changePop() {
	divRender('changeDiv');
	YAHOO.CLWRBuyProcess.changeDiv.show();
}

/* Preview Player for music pages*/
function callPreview(loc,res){
	window.document.previewWidget.SetVariable("previewSong", "location=" + loc + "&resource=" + res);
}
