//	Repository of the ajax components on djd stable stores.

var request = null;
var unsubscribefrommember = null;
var delrecMemUserid = null;
var delrecMemCommid = null;
var reportAbusiveContentId = null;
var subscriptionbuttontoggle = null;
var gigDeleteId = null;
var linkDeleteId = null;
var deleteImageID = null;
var multiDownloadTrackID = null;
var multiDownloadStockID = null;

function createRequest() {
	try {
		request = new XMLHttpRequest();
	} catch (trymicrosoft) {
		try {
			request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (othermicrosoft) {
			try {
				request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (failed) {
				request = null;
			}
		}
	}

	if (request==null) {
		alert("Error creating request object");
	}
}

//	Send to friend email functions.
function sendToFriendEmail() {
	
	var confirmHash = document.getElementById("confirmHash").value;
	var stockid = document.getElementById("stockid").value;
	var dummy = new Date().getTime();	//	dummy value to avoid caching.
	var email = document.getElementById("recipEmail").value;
	
	createRequest();

	//	Set the message to avoid clicky fever.  Disable the button here, too?
	document.getElementById("message").innerHTML = "Please wait...";
	
	var url = "/sendToFriend.php?email="+email+"&stockid="+stockid+"&confirmHash="+confirmHash+"&dummy="+dummy;
	request.open("GET", url, true);
	request.onreadystatechange = updateSendToFriend;
	request.send(null);
}

function updateSendToFriend() {
	//	callback function for the sendToFriendEmail function.
	if (request.readyState == 4) {
		if (request.status==200) {
			var message = request.responseText;
			document.getElementById("message").innerHTML = message;
			document.getElementById("recipEmail").value = "";
		} else {
			alert("request status is "+request.status);
		}
	}
}

//	verifyRemind email; uses verifyRemindSender.php
//**** Deprecated functions since the removal of the verification emails *****
function verifyRemindSend() {
	var email = document.getElementById("email").value;
	var dummy = new Date().getTime();	//	dummy value to avoid caching.
	
	createRequest();

	//	Set the message to avoid clicky fever.  Disable the button here, too?
	document.getElementById("message").innerHTML = "Please wait...";
	
	var url = "/verifyRemindSender.php?email="+email+"&dummy="+dummy;
	request.open("GET", url, true);
	request.onreadystatechange = updateVerifyRemind;
	request.send(null);
}

function updateVerifyRemind() {
	//	callback function for the sendToFriendEmail function.
	if (request.readyState == 4) {
		if (request.status==200) {
			var message = request.responseText;
			document.getElementById("message").innerHTML = message;
			document.getElementById("recipEmail").value = "";
		} else {
			alert("request status is "+request.status);
		}
	}
}

// -- To Prototype --------

//	Verifies the alias on the community setup form.  uses verifyAlias.php.
function verifyAlias() {
	var a = $F('alias');
	var r = $('aliasReturn');
	var sb = $('submitButton');
	
	var url = "/verifyAlias.php";
	var dummy = new Date().getTime();	//	dummy value to avoid caching.
	var pars = "alias=" + a + "&dummy=" + dummy;
	r.innerHTML = "Checking...";
	sb.disabled=true;
	var verifyAlias = new Ajax.Request(url, { method:'get', parameters: pars, onComplete: showVerifyAlias });

}

function showVerifyAlias(http) {
	var r = $('aliasReturn');
	var sb = $('submitButton');
	r.innerHTML = http.responseText;
	
	if (http.responseText=="Unique")	sb.disabled=false;
	else 								sb.disabled=true;
}


// checks that the field is not left empty onBlur

function verifyNotBlank(field,returnSpan,errormsg){
	var f = $(field);
	var r = $(returnSpan);
	var sb = $('submitButton');
	
	if ((f.value.length == null) || (f.value.length == 0)){
		r.innerHTML = "<h3 class='warning'>" + errormsg + "</h3>";
		identity=document.getElementById(field + 'Label');
		identity.className='statusError';
		sb.disabled=true;
	}else{
		r.innerHTML = "";
		identity=document.getElementById(field + 'Label');
		identity.className='statusOK';
		sb.disabled=false;
	}
}

// report abusive content, flags the item as abusive by setting abusive column to 1
function reportAbusiveContent(id){
	reportAbusiveContentId = id
	var a = $('reportAbuse' + reportAbusiveContentId);
	var b = $('reportingAbuse' + reportAbusiveContentId);

	var url = "/reportAbusiveContent.php";
	var dummy = new Date().getTime();	//	dummy value to avoid caching.
	var pars = "id=" + id + "&dummy=" + dummy;

	var reportAbuse = new Ajax.Request(url, { method:'get', parameters: pars, onComplete: reportedAbusiveContent} );

	new Effect.Fade(a);
	new Effect.Appear(b,{delay:.95});

}

function reportedAbusiveContent(http){
	var b = $('reportingAbuse' + reportAbusiveContentId);
	var c = $('reportedAbuse' + reportAbusiveContentId);

	new Effect.Fade(b,{delay:2});
	new Effect.Appear(c,{delay:2.95});
}


function memberUnsubscribe(userid,commid){
	confirm('Are you sure you want to unsubscribe?');
	unsubscribefrommember = commid;
	var s = $('span' + unsubscribefrommember);
	var url = "/unsubscribe.php";
	var dummy = new Date().getTime();	//	dummy value to avoid caching.
	var pars = "userid=" + userid + "&commid=" + commid + "&dummy=" + dummy;
	
	var unsubscribe = new Ajax.Request(url, { method:'get', parameters: pars, onComplete: memberUnsubscribed} );
	s.innerHTML = "unsubscribing...";
}

function memberUnsubscribed(http){
	
	var s = $('span' + unsubscribefrommember);
	var d = $('divid' + unsubscribefrommember);
	alert(d);
	s.innerHTML = http.responseText;
	new Effect.Highlight(d,{startcolor:'#787878', endcolor:'#921615'});	
	new Effect.Fade(d,{delay:0.4 ,duration:0.7});	
}

function delRecommendedMember(userid,commid,alias){
	confirm('Are you sure you want to remove' + alias + ' from you recommended members?');
	delrecMemUserid = userid;
	delrecMemCommid = commid;
	var s = $('span' + delrecMemUserid);
	var url = "/delRecommendedMember.php";
	var dummy = new Date().getTime();	//	dummy value to avoid caching.
	var pars = "userid=" + userid + "&commid=" + commid + "&dummy=" + dummy;
	
	var delrecommededMember = new Ajax.Request(url, { method:'get', parameters: pars, onComplete: deleletdRecommendedMember} );
	s.innerHTML = "deleting...";
}

function deleletdRecommendedMember(http){
	var s = $('span' + delrecMemCommid);
	var d = $('divid' + delrecMemCommid);
	s.innerHTML = http.responseText;
	new Effect.Highlight(d,{startcolor:'#004f41', endcolor:'#921615'});	
	new Effect.Fade(d,{delay:0.7});
}

function addToRecMembers(commid){
	var url = "/addToRecMembers.php";
	var dummy = new Date().getTime();	//	dummy value to avoid caching.
	var pars = "commid=" + commid + "&dummy=" + dummy;
	
	var delrecommededMember = new Ajax.Request(url, { method:'get', parameters: pars, onComplete: addedToRecMembers} );
}

function addedToRecMembers(http){
	var b = $('commsRec');
	alert(http.responseText);
	new Effect.Fade(b);
}

// used on the subscribe button on the community dj homepage 
function subscribePage(commid,toggle){
	subscriptionbuttontoggle = toggle;
	var url = "/subscribeButton.php";
	var dummy = new Date().getTime();	//	dummy value to avoid caching.
	var pars = "commid=" + commid + "&toggle=" + subscriptionbuttontoggle + "&dummy=" + dummy;
	
	var subscribe = new Ajax.Request(url, { method:'get', parameters: pars, onComplete: subscribedPage} );
}

function subscribedPage(http){
	var s = $('commsAdd');
	var u = $('commsMinus');
	alert(http.responseText);
	
	if (subscriptionbuttontoggle == 'subscribe'){
		new Effect.Fade(s,{duration:1});
		new Effect.Appear(u,{delay:1,duration:1});
	}else{
		new Effect.Fade(u,{duration:1});
		new Effect.Appear(s,{delay:1,duration:1});
	}
}

// to save blog comment
function sendComment(){
	var comment =  $F('commentBox');
	var userid =  $F('userid');
	var blogid =  $F('blogid');
	var commentForm =  $('commentBox');
	var commentinstr = $('commentinstr');
	var formprogress = $('formprogress');

	if(comment == ""){
		commentinstr.innerHTML = "<img src='site/default/staticimg/community/misc/error.png' alt='' style='vertical-align:middle;' /> You cannot submit an empty comment box!";
		return false;
	}

	var url = "/save-blog-comment.php";
	var dummy = new Date().getTime();	//	dummy value to avoid caching.
	var pars = "comment=" + comment + "&userid=" + userid + "&blogid=" + blogid + "&dummy=" + dummy;
	
	var options = {
		method:'post',
		parameters:pars,
		onComplete:sentComment
		}

	var update = new Ajax.Request(url,options);


	new Effect.Fade(commentinstr,{transition: Effect.Transitions.wobble} );
	new Effect.Appear(formprogress,{delay:1});

	commentForm.value="";
	
	return false;
}

function sentComment(http){
	var commentinstr = $('commentinstr');
	var formprogress = $('formprogress');
	var formsuccess = $('formsuccess');

	formsuccess.innerHTML = http.responseText;
	
		new Effect.Fade(formprogress,{delay:3,transition: Effect.Transitions.wobble});
		new Effect.Appear(formsuccess,{delay:4});
		new Effect.Fade(formsuccess,{delay:6,transition: Effect.Transitions.wobble});
		new Effect.Appear(commentinstr,{delay:7});

// update the comments list to show the new comment.
	var blogid =  $F('blogid');
	var url = "/updateCommentsList.php";
	var dummy = new Date().getTime();	//	dummy value to avoid caching.
	var pars = "blogid=" + blogid + "&dummy=" + dummy;

	var options = {
		method:'post',
		parameters:pars,
		onComplete:updatedCommentsList
		}

	var update = new Ajax.Request(url,options);

}

function updatedCommentsList(http){
	var commentList = $('commentList');
	commentList.innerHTML = http.responseText;	
}

// delete gig from communityGigs.php
function deleteGig(gigid,userid){
	confirm('Are you sure you want to delete this gig information?');
	gigDeleteId = gigid;
	gigDeleteSpan = $('span' + gigDeleteId);
	gigDeleteSpan.innerHTML = "deleting...";
	
	var url = "/delete-gig.php";
	var dummy = new Date().getTime();	//	dummy value to avoid caching.
	var pars = "gigid=" + gigDeleteId + "&userid=" + userid + "&dummy=" + dummy;
	var options = {
		method:'get',
		parameters:pars,
		onComplete:deletedGig
	}

	var deletegig = new Ajax.Request(url,options);

}

function deletedGig(http){
	gigDeleteRow = $('tr' + gigDeleteId);
	gigDeleteSpan = $('span' + gigDeleteId);
			
	var response = http.responseText.split("|");
	gigDeleteSpan.innerHTML = response[0];

	if(response[0] == "deleted"){
		new Effect.Highlight(gigDeleteRow,{startcolor:'#534800', endcolor:'#921615'});	
		new Effect.Fade(gigDeleteRow,{delay:0.7});
		
		var a = $('addLink');
		var n = $('noaddlink');

		if(response[1] < 20){
			new Effect.Fade(n);
			new Effect.Appear(a,{delay:0.5,transition: Effect.Transitions.wobble});
		}
	}else{
		alert('There has been a problem with deleting this gig\nYou may not have permission to delete this.');
		new Effect.Highlight(gigDeleteRow,{startcolor:'#534800', endcolor:'#6a5c00'});
		gigDeleteSpan.innerHTML = "<a href=\"javascript:deleteGig('" + gigDeleteId + "');\">delete</a>";
	}
}

// delete Link from communityGigs.php
function deleteLink(linkid,userid){
	confirm('Are you sure you want to delete this link?');
	linkDeleteId = linkid;
	gigDeleteSpan = $('del' + linkDeleteId);
	gigDeleteSpan.innerHTML = "deleting...";
	
	var url = "/delete-link.php";
	var dummy = new Date().getTime();	//	dummy value to avoid caching.
	var pars = "linkid=" + linkDeleteId + "&userid=" + userid + "&dummy=" + dummy;
	var options = {
		method:'get',
		parameters:pars,
		onComplete:deletedLink
	}

	var deletelink = new Ajax.Request(url,options);

}

function deletedLink(http){
	linkDeleteLi = $('list' + linkDeleteId);
	gigDeleteDiv = $('del' + linkDeleteId);
			
	var response = http.responseText.split("|");
	gigDeleteDiv.innerHTML = response[0];

	if(response[0] == "deleted"){
		new Effect.Highlight(linkDeleteLi,{startcolor:'#534800', endcolor:'#921615'});	
		new Effect.Fade(linkDeleteLi,{delay:0.7});
		
		var a = $('addLink');
		var n = $('noaddlink');

		if(response[1] < 20){
			new Effect.Fade(n);
			new Effect.Appear(a,{delay:0.5,transition: Effect.Transitions.wobble});
		}
	}else{
		alert('There has been a problem with deleting this link\nYou may not have permission to delete this.');
		new Effect.Highlight(linkDeleteLi,{startcolor:'#2a545a', endcolor:'#33666d'});
		gigDeleteSpan.innerHTML = "<a href=\"javascript:deleteLink('" + linkDeleteId + "');\">delete</a>";
	}
}


//	----- Functions mostly used in new registration page ----

function checkEmailAddress() {
	var i = $F('emailr');
	var rDiv = $('emailAddressArea');
	var rVal = $('emailAddressReport');
	if (i) {
		var url = "/checkEmailAddress.php";
		var sb = $('btnRegister');
		var dummy = new Date().getTime();	//	dummy value to avoid caching.
		var pars = "email=" + i + "&dummy=" + dummy;

		rDiv.style.display = "block";
		rVal.innerHTML = "Checking...";
		sb.disabled = true;

		var checkEmailAddress = new Ajax.Request(url, { method:'get', parameters: pars, onComplete: showCheckEmailAddress });
	} else {
		rVal.innerHTML = "Please enter an email address";
		rDiv.style.display = "none";
	}
}

function showCheckEmailAddress(http) {
	var rDiv = $('emailAddressArea');
	var rVal = $('emailAddressReport');
	var sb = $('btnRegister');
	var ec = $('emailCheck');
	
	if (http.responseText=="Used") {
		sb.disabled = true;
		rDiv.style.display = "block";
		rVal.innerHTML = "This email has already been used.  Please use the <a href=\"/login.php?action=forgotten\">password reminder form</a>";
		ec.value = '0';

	} else if(http.responseText=="Invalid")	{
		sb.disabled = true;
		rDiv.style.display = "block";
		rVal.innerHTML = "This email appears to be invalid.  Please check.";
		ec.value = '0';
		
	} else {
		rVal.innerHTML = "Email Address OK";
		rDiv.style.display = "block";
		sb.disabled = false;
		ec.value = '1';
	}
}



function registerFormValidate() {
	document.getElementById('btnRegister').onclick = null;
	
	var bool=false;
	var mand = ["firstnamer", "lastnamer", "emailr", "passwdr", "passwdverifyr"];
	var mandField = ["firstnameReport", "lastnameReport", "emailAddressArea", "passwordReport", "verifyReport"];
	var t = $('termsr');
	var tR = $('termsReport');
	var ec = $('emailCheck');
	var er = $('emailr');
	var rDiv = $('emailAddressArea');
	var rVal = $('emailAddressReport');
	
	if($('firstnamer') && $('btnRegister')){
		var bool=true;
		for (var i=0; i < mand.length; i++) {
			var chk = $(mand[i]);
			var rep = $(mandField[i]);
			if(!chk.value) {
				Effect.Pulsate(chk);
				rep.style.display = "block";
				bool=false;
			} else {
				rep.style.display = "none";
			}
		}

		if(!t.checked) {
			Effect.Pulsate(t);
			tR.style.display = "block";
			bool=false;
		}
		
		if(ec.value=='0') {
			rDiv.style.display = "block";
			rVal.innerHTML = "Please check your email address";
			Effect.Pulsate(er);
			bool=false;
		}
	}
	if (bool == false) {
		document.getElementById('btnRegister').onclick = 'registerFormValidate';
	}
	return bool;
}

function gatherAddressValidate() {
	var bool=false;
	var mand=["address1", "town", "county", "postcode"];
	var mandField=["address1Report", "townReport", "countyReport", "postcodeReport"];
	
	if($('btnUpdate') && $('address1')) {
		var bool=true;
		for (var i=0; i < mand.length; i++) {
			var chk=$(mand[i]);
			var rep=$(mandField[i]);
			if(!chk.value) {
				Effect.Pulsate(chk);
				rep.style.display = "block";
				bool=false;
			} else {
				rep.style.display = "none";
			}
		}
	}
	return bool;
}

function commentPagination(blogId,PageRequested){

var blogid =  blogId;
var pRequest = PageRequested
var url = "/updateCommentsList.php";
var dummy = new Date().getTime();	//	dummy value to avoid caching.
var pars = "blogid=" + blogid + "&pageRequested=" + pRequest + "&dummy=" + dummy;

var options = {
	method:'post',
	parameters:pars,
	onComplete:updatedCommentsList
	}

var CommentList = $('commentList');

var update = new Ajax.Request(url,options);

return false;

}


function deleteImage(imageID){

	deleteImageID = imageID;
	var imageSpan = "span_" + deleteImageID;

	confirm('Are you sure you wish to delete this image?');

	var url = "/deleteCommunityImage.php";
	var dummy = new Date().getTime();	//	dummy value to avoid caching.
	var pars = "imageID=" + deleteImageID + "&dummy=" + dummy;

	var options = {
		method:'post',
		parameters:pars,
		onComplete:deletedImage
		}
	

	var update = new Ajax.Request(url,options);

	imageSpan.innerHTML = "Deleting...";

	return false;
}

function deletedImage(http){
	
	var imageDiv = "image_" + deleteImageID;

	new Effect.Highlight(imageDiv,{startcolor:'#666666', endcolor:'#921615'});	
	new Effect.Fade(imageDiv,{delay:0.9});
	
}

// When a tracklist is open , this is called to swap the icon & link to a close
function openTrackDetails(albumID){
	var id = albumID;

	var indicator = $('indi_' + id);

	indicator.innerHTML = "<a href=\"javascript:closeTrackDetails('" + id + "');\">- collapse track list</a>";

	new Effect.Appear('trackRow_' + id);

}

// When a tracklist is closed , this is called to swap the icon & link to a open
function closeTrackDetails(albumID){
	var id = albumID;

	var indicator = $('indi_' + id);

	indicator.innerHTML = "<a href=\"javascript:openTrackDetails('" + id + "');\">+ view track list</a>";

	new Effect.Fade('trackRow_' + id);

}

function openAssociated(id,stockid,addRemove,type){
	multiDownloadStockID = stockid;
	multiDownloadTrackID = id;
	var type = type;
	//var addRemove = addRemove;

	var chkbox = $('cb'+id);
	if(chkbox.checked){
		var addRemove = 1;
	}else{
		var addRemove = 2;
	}

	var url = "/updateDownloadManager.php";
	var dummy = new Date().getTime();	//	dummy value to avoid caching.
	var pars = "trackid=" + multiDownloadTrackID + "&addRemove=" + addRemove + "&type=" + type + "&dummy=" + dummy + "&stockid=" + stockid;
	var options = {
		method:'post',
		parameters:pars,
		onComplete:openedAssociated
		}
	var update = new Ajax.Request(url,options);		
}

function openAssociatedPreviousDownload(id,stockid,addRemove,type){
	multiDownloadStockID = stockid;
	multiDownloadTrackID = id;
	var type = type;
	//var addRemove = addRemove;

	var chkbox = $('cbp'+id);
	if(chkbox.checked){
		var addRemove = 1;
	}else{
		var addRemove = 2;
	}

	var url = "/updateDownloadManager.php";
	var dummy = new Date().getTime();	//	dummy value to avoid caching.
	var pars = "trackid=" + multiDownloadTrackID + "&addRemove=" + addRemove + "&type=" + type + "&dummy=" + dummy + "&stockid=" + stockid;
	var options = {
		method:'post',
		parameters:pars,
		onComplete:openedAssociated
		}
	var update = new Ajax.Request(url,options);		
}

function openedAssociated(http){	// RESPONSE: [0]- ok; [1]- add / remove; [2]- size of array; [3]- type; [4]- tracklist;

chkDownloadLink();
}


function chkDownloadLink(){
	var url = "/chkMultiDownloadLink.php";
	var dummy = new Date().getTime();	//	dummy value to avoid caching.
	var pars = "dummy=" + dummy ;
	var options = {
		method:'post',
		parameters:pars,
		onComplete:chkedDownloadLink
		}
	var update = new Ajax.Request(url,options);	
}

function chkedDownloadLink(http){	
	if(http.responseText == 'hide'){
	    var showlink = $('dlLink');	
		new Effect.Fade(showlink, { duration: 0.3 });
		var noShowlink = $('dlNoLink');	
		new Effect.Appear(noShowlink, { delay: 0.3, duration: 0.3 });	
	}else{
		var noShowlink = $('dlNoLink');	
		new Effect.Fade(noShowlink, { duration: 1 });
		var showlink = $('dlLink');	
		new Effect.Appear(showlink, { delay: 1, duration: 1 });
	}
}


function processMultiDownload(){
	
	var url = "/multi-download-non-zip.php";
	var dummy = new Date().getTime();	//	dummy value to avoid caching.
	var pars = "dummy=" + dummy ;
	var options = {
		method:'post',
		parameters:pars,
		onComplete:showMultiDownloadLink
		}
	
	new Effect.BlindUp($('tab1'), {  duration: 1 });
	new Effect.BlindDown($('downloadProcessing'), { delay: 1, duration: 1  });
	
	var update = new Ajax.Request(url,options);	

}

function showMultiDownloadLink(http){
	 if (http.responseText == 'ok'){
		var url = "/showMultiDownloadLink.php";
		var dummy = new Date().getTime();	//	dummy value to avoid caching.
		var pars = "dummy=" + dummy ;
		var options = {
			method:'post',
			parameters:pars,
			onComplete:showingMultiDownloadLink
		}
		//alert('Tracks added to session');
		var update = new Ajax.Request(url,options);	
	 }else{
		
		//alert(http.responseText);
		alert('There has been an error processing your tracks');
	 }

}

function showingMultiDownloadLink(http){
	
	new Effect.BlindUp($('downloadProcessing'), { duration: 1  });
	
	var dlTab = $('downloadLink');
	dlTab.innerHTML = http.responseText;

	new Effect.BlindDown(dlTab, { delay: 1, duration: 1  });

	eval('('+document.getElementById('downloadProcessing').innerHTML+')');

	eval('('+document.getElementById('createEvent').innerHTML+')');

	document.getElementById('openWindow').onclick = function () { window.open('download-controller-non-zip.php','download_controller','height=250,width=285'); };
}

function openDownloadController(){
	alert('popup');
	window.open('download-controller-non-zip.php','download controller','height=250,width=285');
	//window.open('download-controller-non-zip.php');
}


function selectDeselectAll(chk){
	var chkboxes = document.getElementsByName("ordermp3Chkbox");
	var chkbox = $('cbSelectAll');
	var chkBoxInfo = $('cbSelectAllInfo');

	if(chk){
		if(chk == 1){
				chkBoxInfo.innerHTML = "Selecting all Items...";
				var multiArray = 1;
		}else{
				chkBoxInfo.innerHTML = "Deselecting all Items...";
				var multiArray = 2;
		}
	}else{	
		if(chkbox.checked){
				chkBoxInfo.innerHTML = "Selecting all Items...";
				var multiArray = 1;
		}else{
			for (i = 0; i < chkboxes.length; i++)
				chkBoxInfo.innerHTML = "Deselecting all Items...";
				var multiArray = 2;
		}
	}
	var url = "/updateMultidownloadSession.php";
	var dummy = new Date().getTime();	//	dummy value to avoid caching.
	var pars = "multiArray=" + multiArray + "&dummy=" + dummy ;
	var options = {
		method:'post',
		parameters:pars,
		onComplete:selectDeselectAllReturn
	}
	var update = new Ajax.Request(url,options);	
}

function selectDeselectAllReturn(http){
	var chkboxes = document.getElementsByName("ordermp3Chkbox");
	var chkbox = $('cbSelectAll');
	
	if(http.responseText == 'set'){
		for (i = 0; i < chkboxes.length; i++)
			chkboxes[i].checked = true;
		chkbox.checked = true;

	}else{
		for (i = 0; i < chkboxes.length; i++)
			chkboxes[i].checked = false;
		chkbox.checked = false;
	}

	var chkBoxInfo = $('cbSelectAllInfo');
	chkBoxInfo.innerHTML = "<a href=\"javascript:selectDeselectAll('1');\">select all</a> | <a href=\"javascript:selectDeselectAll('2');\">deselect all</a>";
	
	chkDownloadLink();

}

function prepareDownloadAlbum(id){
	var url = "/prepareDownloadAlbum.php";
	var dummy = new Date().getTime();	//	dummy value to avoid caching.
	var pars = "id=" + id + "&dummy=" + dummy ;
	var options = {
		method:'post',
		parameters:pars,
		onComplete:preparedDownloadAlbum
	}
	var update = new Ajax.Request(url,options);	

}

function preparedDownloadAlbum(http){

	var response = eval('('+http.responseText+')');
	

	if(response.status == 'error') {
		showErrorMessage();
	}
	if (response.status == 'ok') {
		
		showDLMessage(response.file);
	}
	
}

function showDLMessage(msg){

	var output = 'Your music is now ready to download. <a href="'+msg+'"><strong style="color: yellow">Click here to download.</strong></a>';
	output += '<br />Please note that you have used one of your download attempts.<br />';
	output += '<br /><strong>Click here to <a href="/my-downloads.php" class="highlight"><u>go back to \'My Downloads\'</u></a></strong>';

	var divReplace = $('downloadAlbumAjax');
	divReplace.innerHTML = output;

}

function showErrorMessage(msg){

	var output = 'There has been an error whilst processing your album';
	var divReplace = $('downloadAlbumAjax');
	divReplace.innerHTML = output;
}
