var ShoppingCart = new Class({
	
	Implements: Options,

	options:
	{
		
	},
	
	initialize: function(options)
	{
		this.setOptions(options);
	},
	
	openDialogMusicOptions: function(type, track_id, release_id)
	{
		var scOverlay = new MessageBox({
			'name': 'DialogMusicOption',
			'links': { 'ok': true, 'yes': false, 'no': false, 'cancel': true },
			'onOk': function(MBObject)
			{
				this.getDialogMusicOption();
				MBObject.toggle();
			}.bind(this)
		});

		var myRequest = new Request(
		{
			method: 'get',
			url: '/releases/getBuyOptions/'+type+'/'+track_id+'/'+release_id,
			data: { },
			onSuccess: function(responseText, responseXML)
			{
				var data = responseText;
				scOverlay.setText(data);
				scOverlay.setType('MessageBox');
			}
		}).send();
	},
	
	addTrack: function(trackId, format, preorder)
	{
		var targetId = trackId;
		var targetType = 'track';
		var options = {};

		if(!$defined(format))
			var format = false;

		if(!$defined(preorder))
			var preorder = false;

		if(format != false)
		{
			options.format = format;
			options.preorder = preorder;
			this.addItem(targetId, targetType, options);
		}
	},
	
	addItem: function(targetId, targetType, options)
	{
		var scOverlay = new MessageBox({
			'name': 'ShoppingCart',
			'onOk': function(MBObject)
			{
				MBObject.toggle();
				/*
				if(location.href.contains('shopping_carts') == true)
					location.href = '/shopping_carts';
				*/
			}.bind(this)
		});

		var myRequest = new Request(
		{
			method: 'post',
			url: '/shopping_carts/addItem',
			data: {
				'data[Item][targetId]':targetId,
				'data[Item][targetType]':targetType,
				'data[Item][options]': JSON.encode(options)
			},
			onSuccess: function(responseText, responseXML)
			{
				var data = JSON.decode(responseText);
				scOverlay.setText(data.result.msg);
				scOverlay.setType('MessageBox');
			}
		}).send();
	},
	
	getDialogMusicOption: function()
	{
		if($('overlayDialogMusicOption') && $('overlayDialogMusicOption').getStyle('display') == 'block')
		{
			data = null;
			
			if($('track_wav') && $('track_wav').checked == true)
				data = $('track_wav').value.split(':');
			else if($('track_mp3') && $('track_mp3').checked == true)
				data = $('track_mp3').value.split(':');
			else if($('release_wav') && $('release_wav').checked == true)
				data = $('release_wav').value.split(':');
			else if($('release_mp3') && $('release_mp3').checked == true)
				data = $('release_mp3').value.split(':');
			else if($('release_vinyl') && $('release_vinyl').checked == true)
				data = $('release_vinyl').value.split(':');
			else if($('release_cd') && $('release_cd').checked == true)
				data = $('release_cd').value.split(':');
			
			this.addItem(data[2], data[0], {'format': data[1]});
		}		
	}
});

