
jQuery.preloadImages = function()
{
	for(var i = 0; i<arguments.length; i++)
	{
		jQuery("<img>").attr("src", arguments[i]);
	}
}

jQuery(function() {

	$('.hideEle').remove();

	var loadObject = {

		album_block: function () { return $('#album_template tbody tr').html(); },

		deal_block: function () { return $('#deal_template').html(); },

		recmd_block: function () { return $('#recmd_template').html(); },

		fillData: function(json) {

			$.each(json.category, function(i) {
				var id = i;
				$.each(this, function(j) {
					var pid = this.prodId;
					var genreName = this.genre;
					var path = genreName+'/'+this.path+'.png';
					var block = loadObject.album_block();
					block = block.replace('n_m', id);
					block = block.replace('_album_id', pid);
					block = block.replace('#class_name#', 'reflect');
					block = block.replace('#album_path#', path);
					block = block.replace('#album_price#', this.price);
					block = block.replace('#album_artist#', this.artist);
					block = block.replace('#album#', this.album);
					$(block).appendTo('#'+id+'ProductBoxScroll tbody tr');

					$('#'+id+'_prod'+pid+' img').reflect({height: 0.3, opacity: 0.3});

					$('#'+id+'_prod'+pid+' img').Draggable({ revert: true, ghosting: true, opacity: 0.4 });
				});
			});

			$.each(json.genre, function(i) {
				var genreName = i;
				$.each(this, function(j) {
					var pid = this.prodId;
					var path = genreName+'/'+this.path+'.png';
					var block = loadObject.album_block();
					block = block.replace('n_m', genreName);
					block = block.replace('_album_id', pid);
					block = block.replace('#class_name#', 'reflect');
					block = block.replace('#album_path#', path);
					block = block.replace('#album_price#', this.price);
					block = block.replace('#album_artist#', this.artist);
					block = block.replace('#album#', this.album);
					$(block).appendTo('#'+genreName+'ProductBoxScroll tbody tr');

					$('#'+genreName+'_prod'+pid+' img').reflect({height: 0.3, opacity: 0.3});

					$('#'+genreName+'_prod'+pid+' img').Draggable({ revert: true, ghosting: true, opacity: 0.4 });
				});
			});


			$.each(json.deal, function(i) {
				var isActive = this.active ? 'active' : '';
				var block = loadObject.deal_block();
				block = block.replace('n_m', this.genre);
				block = block.replace('_album_id', this.prodId);
				block = block.replace('#active#', isActive);
				block = block.replace('#album_artist#', this.artist);
				block = block.replace('#album_price#', this.price);
				$(block).appendTo('#dealslist');
			});

			$.each(json.recommend, function(i) {
				var block = loadObject.recmd_block();
				var path = this.genre+'/'+this.path+'.png';
				block = block.replace('n_m', this.genre);
				block = block.replace('_albumid', this.prodId);
				block = block.replace('#class_name#', 'reflect');
				block = block.replace(/#album_artist#/g, this.artist);
				block = block.replace(/#album_price#/g, this.price);
				block = block.replace('#album_path#', path);
				block = block.replace('#album#', this.album);
				$(block).appendTo('#recmd_container');

				$('#recmd_container div.recmdimg img').reflect({height: 0.4, opacity: 0.5});
			});

		}
	}
	
	$.getJSON('json/list.json', function(json) {
		loadObject.fillData(json);
	});

	$.preloadImages('images/misc/btn_l.png', 'images/misc/btn_m.png', 'images/misc/btn_r.png', 'images/misc/buynowbtn.png', 'images/misc/checkout.png', 'images/misc/gobackbtn.png', 'images/misc/body.png', 'images/misc/prodbox_bg_bot.png', 'images/misc/securitypanbg.png', 'images/misc/sec.png', 'images/misc/logo.png', 'images/misc/prodbox_xy', 'images/misc/prodsl.png', 'images/misc/desc_m.png', 'images/misc/desc_r.png', 'images/misc/desc_l.png', 'images/misc/newrelease.png', 'images/misc/myfav.png', 'images/misc/topsellers.png', 'images/misc/stafffav.png');

});

$(window).bind("load", function() {
	$('img.reflected').reflect({height: 0.3, opacity: 0.3});

	$('#albumLoader').fadeOut('slow', function () {
		$('#lightbox-overlay').fadeOut('slow');
	});
});


function getAlbum(id) {
	$.getJSON('json/list.json', function(json) {
		$.each(json.genre, function(i) {
			var genreName = i;
			if(genreName == id) {
				$.each(this, function(j) {
					var pid = this.prodId;
					var path = genreName+'/'+this.path+'.png';
					var block = $('#album_template tbody tr').html();
					block = block.replace('n_m', genreName);
					block = block.replace('_album_id', pid);
					block = block.replace('#class_name#', 'reflect');
					block = block.replace('#album_path#', path);
					block = block.replace('#album_price#', this.price);
					block = block.replace('#album_artist#', this.artist);
					block = block.replace('#album#', this.album);
					$(block).appendTo('#'+genreName+'ProductBoxScroll tbody tr');

					$('#'+genreName+'_prod'+pid+' img').reflect({height: 0.3, opacity: 0.3});

					$('#'+genreName+'_prod'+pid+' img').Draggable({ revert: true, ghosting: true, opacity: 0.4 });
				});
			}
		});
	});

	$('#albumLoader').fadeOut(1000);
}


