var http = createRequestObject();

function signUp()
{
	parent.location.href = "sign_up.php";
		
	Modalbox.hide();
}

function dwLogin()
{
	parent.location.href = "userlogin.php";
		
	Modalbox.hide();
}

function refillBalance()
{
	parent.location.href = "account.php";
		
	Modalbox.hide();
}

function dwCancel()
{
	Modalbox.hide();	
}
	
function dwSong(song,album,member)
{
	var divBtnDw = document.getElementById('dwBtn');
	
	divBtnDw.innerHTML = "Please wait while your download begins and then click on Close button";
	
	sendReqSong(song,album,member);
		
}

function dwAlbum(album,member)
{
	var divBtnDw = document.getElementById('dwBtn');
	
	divBtnDw.innerHTML = "Please wait while your download begins and then click on Close button";
	
	sendReqAlbum(album,member);
		
}

function checkBrowser()
{
		var browser = navigator.appName;
	   if(browser == "Microsoft Internet Explorer") return 1;
	   else return 0;
}

function createRequestObject() {
    var ro;
    if(checkBrowser()){
        ro = new ActiveXObject("Microsoft.XMLHTTP");
    } else{
        ro = new XMLHttpRequest();
    }
    return ro;
}

function sendReqSong(song,album,member) {
	http.open('get', 'dws.php?song=' + song + '&al=' + album + '&member=' + member);
	http.onreadystatechange = handleResponse;
	http.send(null);
}

function sendReqAlbum(album,member) {
	//alert('dwa.php?&al=' + album + '&member=' + member);
	http.open('get', 'dwa.php?&al=' + album + '&member=' + member);
	http.onreadystatechange = handleResponse;
	http.send(null);
}

function handleResponse() {
    if(http.readyState == 4){
		//alert(http.responseText);
        var response = http.responseText;
		var values = response.split("#");

        if (values.length > 0 && values[0] == 0)
		{
				var divBtnDw = document.getElementById('dwBtn');
				divBtnDw.innerHTML = "<strong>" + values[1] + "</strong>";
		}
		else if (values.length > 0 && values[0] == 1)
		{
			window.location.href = values[1];
        }
    }
}


function requestMakePayment(memberId){
	spinner.show();
	jQuery.getJSON('/rpc/index.php', {method: 'request-make-payment', params: {memberId: memberId} }, function(data, textStatus){
		spinner.hide();
		if(data.result){
			// success
			if(data.result.systemMsg){
				jQuery.each(data.result.systemMsg, function(key, value){
					alert(value);
				});	
			}
			else{
				alert(data.result);
			}
		}
		else if(data.error){
			// error
			alert(data.error.message);
		}
		else{
			// bad error	
			alert('please try again later');
		}
	});
}




var spinner = {};
spinner.count = 0;
spinner.show = function(){
	spinner.count++;
	spinner.load();
	jQuery(spinner.elm).show();
}
spinner.hide = function(){
	spinner.count--;
	spinner.load();
	if(spinner.count < 1){
		jQuery(spinner.elm).hide();
	}
}
spinner.load = function(){
	spinner.elm = jQuery('#spinner').get();
	if(spinner.elm.size() == 0){
		spinner.elm = jQuery('body').prepend('<div id="spinner" class="ui-widget ui-corner-tr"><img src="/includes/img/spinner.gif" width="50" height="50" /></div>').find('#spinner');
		jQuery(spinner.elm).css({'display': 'block', 'bottom': '0', 'left': '0', 'z-index': '2002', 'position': 'fixed', 'height': '55px', 'width': '55px', 'background-color': '#f0f0f0'});
	}
	return spinner.elm;
}


function updateCart(){
	spinner.show();
	jQuery.getJSON('/rpc/index.php', {method: 'cart-total', params: {} }, function(data, textStatus){
		spinner.hide();
		if(data.result){
			// success
			jQuery('.cart-total').text('$' + data.result);
			if(jQuery('.album-cart tbody tr').size() == 0){
				jQuery('table.album-cart').hide();
			}
			if(jQuery('.song-cart tbody tr').size() == 0){
				jQuery('table.song-cart').hide();
			}
			if(jQuery('.album-cart tbody tr').size() == 0 && jQuery('.song-cart tbody tr').size() == 0){
				jQuery('table.empty-cart').show();
			}
		}
		else if(data.error){
			// error
			messagebar.add(data.error.message);
		}
		else{
			// bad error	
			messagebar.add('please try again later');
		}
	});
}


function addAlbum(id){
	var $ = jQuery;
	spinner.show();
	jQuery.getJSON('/rpc/index.php', {method: 'cart-add-album', params: {id: id} }, function(data, textStatus){
		spinner.hide();
		if(data.result){
			// success
			messagebar.add(data.result);
		}
		else if(data.error){
			// error
			messagebar.add(data.error.message);
		}
		else{
			// bad error	
			messagebar.add('please try again later');
		}
	});
}


function removeAlbum(id, removeElm){
	var $ = jQuery;
	spinner.show();
	jQuery.getJSON('/rpc/index.php', {method: 'cart-remove-album', params: {id: id} }, function(data, textStatus){
		spinner.hide();
		if(data.result){
			// success
			messagebar.add(data.result);
			updateCart();
			if(removeElm){
				jQuery(removeElm).hide('fast').remove();
			}
		}
		else if(data.error){
			// error
			messagebar.add(data.error.message);
		}
		else{
			// bad error	
			messagebar.add('please try again later');
		}
	});
}

function addSong(id){
	var $ = jQuery;
	spinner.show();
	jQuery.getJSON('/rpc/index.php', {method: 'cart-add-song', params: {id: id} }, function(data, textStatus){
		spinner.hide();
		if(data.result){
			// success
			messagebar.add(data.result);
		}
		else if(data.error){
			// error
			messagebar.add(data.error.message);
		}
		else{
			// bad error	
			messagebar.add('please try again later');
		}
	});
}

function removeSong(id, removeElm){
	var $ = jQuery;
	spinner.show();
	jQuery.getJSON('/rpc/index.php', {method: 'cart-remove-song', params: {id: id} }, function(data, textStatus){
		spinner.hide();
		if(data.result){
			// success
			updateCart();
			messagebar.add(data.result);
			if(removeElm){
				jQuery(removeElm).hide('fast').remove();
			}
		}
		else if(data.error){
			// error
			messagebar.add(data.error.message);
		}
		else{
			// bad error	
			messagebar.add('please try again later');
		}
	});
}





