var Site = new Object();
var d = document;

var selected;
var submitter = null;

function submitFunction() {
    submitter = 1;
}

$(d).ready(function() {	
	if (d.getElementById) {
		Site.Global.init();
		Site.Helper.init();
	}
});

Site.Global = {
	init: function() {
		Site.Global.Tabs.init();
		Site.Global.Player.init();
		Site.Global.Grid.init();
		Site.Global.Panel.init();
	}
};

Site.Helper = {
	init: function() {
		Site.Helper.LicenseGuide.init();
		Site.Helper.UpdatePrice.init();
	}
};

/*
 * Site Globals
 */

Site.Global.Grid = {
	init: function() {
		$(".data tbody tr.datarow").bind("mouseenter mouseleave", function(e){
			$(this).toggleClass("over");
		});
		/*
		$(".data tbody tr.datarow").each( function () {
			
			var pid = $(this).attr("id").toString().split("_")[2];
			var btn = '#pid_' + pid;
			
			$(btn).click(function() {
				alert('test');
			});
		
		});
		*/
	}
};

Site.Global.Panel = {

	init: function() {
		$(".panel-wishlist").each( function () {
			
			var pid = $(this).attr("id").toString().split("_")[2];
			var btn = '#btn_wishlist_' + pid;
			
			$(btn).attr('rel', 'panel.php').cluetip({
				local: false,
				cluetipClass: 'wishlist',
				ajaxSettings : {
					dataType : 'html', 
					type : 'POST',
					data : "action=show&panel=wishlist&pid=" + pid
				},
				ajaxProcess : function (data) {
					return data;
				},
				onShow : function (ct, c) {
					$('.p_memo_save').click(function() {
						var memo = $('.comment').val();
						$.ajax({
							type:		'POST',
							url:		'panel.php',
							data:		'action=add&panel=wishlist&pid=' + pid + '&memo=' + memo,
							global: 	'false',
							error:		function() { },
							success: 	function(data) {
											if( $(btn).hasClass('list') ) {
												$(btn + ' img').attr('src', 'templates/default_v1/buttons/german/btn_from_wishlist_small.gif');
											} else {
												$(btn + ' img').attr('src', 'templates/default_v1/buttons/german/btn_from_wishlist_large.gif');
											}
											$('.p_memo_delete').removeClass('disabled');
											var data = data.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
											
											$('textarea.comment').val(data);
											$('#mycomment').text(data);
											
											$('#cluetip-close').click();
										}
						});	
					
					});
					$(".p_memo_delete:not(E[@class='disabled'])").click(function() {
						$.ajax({
							type:		'POST',
							url:		'panel.php',
							data:		'action=delete&panel=wishlist&pid=' + pid,
							global: 	'false',
							error:		function() { },
							success: 	function(data) {
											if( $(btn).hasClass('list') ) {
												$(btn + ' img').attr('src', 'templates/default_v1/buttons/german/btn_to_wishlist_small.gif');
											} else {
												$(btn + ' img').attr('src', 'templates/default_v1/buttons/german/btn_to_wishlist_large.gif');
											}
											$('.p_memo_delete').addClass('disabled');
											$('textarea.comment').val('');
											
											$('#cluetip-close').click();
										}
						});
					});
				}
			});
		});
		
		$(".panel-layout").each( function () {
			
			var pid = $(this).attr("id").toString().split("_")[2];
			var btn = '#btn_layout_' + pid;
			
			$(btn).attr('rel', 'panel.php').cluetip({
				local: false,
				cluetipClass: 'layout',
				ajaxSettings : {
					dataType : 'html', 
					type : 'POST',
					data : "action=show&panel=layout&pid=" + pid
				},
				ajaxProcess : function (data) {
					return data;
				},
				onShow : function (ct, c) {
					$('.p_download').click(function() {
						var btn_w = '#btn_wishlist_' + pid;
						var wish = 0;
						if ($('#add_wishlist').is(':checked')) {
							wish = 1;
							if( $(btn_w).hasClass('list') ) {
								$(btn_w + ' img').attr('src', 'templates/default_v1/buttons/german/btn_from_wishlist_small.gif');
							} else {
								$(btn_w + ' img').attr('src', 'templates/default_v1/buttons/german/btn_from_wishlist_large.gif');
							}
						}
						$('#cluetip-close').click();
						
						window.location.href = 'http://www.audioagency.de/download.php?id=' + pid + '&add_wishlist=' + wish;
					});
				}
			});
		});
	}
};

Site.Global.Player = {
	init: function(evt) {
		if(!evt){
			$(".playcontrol").each( function () {
				
				var pid = $(this).attr("id").toString().split("_")[2];
				var btn = '#btn_playcontrol_' + pid;
				var state = '';
							
				$(btn).click(function() {
				
					if( $(btn).hasClass('stopped') ) { state = 1; }
					if( $(btn).hasClass('paused') ) { state = 2; }
					if( $(btn).hasClass('playing') ) { state = 3; }
					
					switch (state) {
						case 1:
							$('.playcontrol').removeClass('playing').removeClass('paused').addClass('stopped');
							$(btn).removeClass('stopped').addClass('p-loading');
							$.ajax({
								type:		'GET',
								url:		'soundcheck.php',
								data:		'products_id=' + pid,
								global: 	'false',
								error:		function() { },
								success: 	function(data) {
												if (data == '') {
													EP_loadMP3('ep_player','<creator>' + BOX_PLAYER_ERROR + '<\/creator><title>' + BOX_PLAYER_NOTFOUND + '<\/title>');
												}else{
													EP_loadMP3('ep_player',data);
												}
												$(btn).removeClass('p-loading').addClass('playing');
												EP_play('ep_player');
											}
							});	
							break;
						case 2:
							$(btn).removeClass('paused').addClass('playing');
							EP_play('ep_player');
							break;
						case 3:
							$(btn).removeClass('playing').addClass('paused');
							EP_pause('ep_player');
							break;
					}			
	
				});
			});	
		}else{
			//alert(evt);
		}
	},
	status: function(evt) {
		switch(evt) {
			case 'MP3_LOADING':
				break;
			case 'MP3_BUFFERING':
				break;
			case 'MP3_PLAYING':
				/*
				var pid = $('.paused').attr('id').toString().split('_')[2];
				var btn = '#btn_playcontrol_' + pid;
				$(btn).removeClass('paused').addClass('playing');
				*/
				break;			
			case 'MP3_PAUSED':
				break;
			case 'MP3_COMPLETE':
			case 'MP3_STOPPED':
				break;						
			default:
				break;
		}
	}
}

Site.Global.Tabs = {
	init: function() { 
		$('.filtertag').click(function() {
			$('#b1').trigger('click');
		});
	},
	GetCurrentTab: function(menu_ID) {
		switch (menu_ID) {
			case 'tabbox1':
			
						// REMEMBER STATUS OF TABMENU1
						// set tabmenu1-cookie
						var TAB1_COOKIE = 'tabmenu1';
						var tabmenu1_ID = '';
				
						// set cookie to categories
						$('#a1').click(function() {
							tabmenu1_ID = 'categories';
							$.cookie(TAB1_COOKIE, tabmenu1_ID, { path: '/', expires: 7 });
							return false;
						});
						
						// set cookie to musicfilter
						$('#b1').click(function() {
							tabmenu1_ID = 'musicfilter';
							$.cookie(TAB1_COOKIE, tabmenu1_ID, { path: '/', expires: 7 });
							return false;
						});
						
						// read from cookie
						tabmenu1_ID = $.cookie(TAB1_COOKIE);
				
						// set default to categories
						if (tabmenu1_ID != 'musicfilter') { tabmenu1_ID = 'categories'; }

						return tabmenu1_ID;

						break;
						
			case 'tabbox2':
						// REMEMBER STATUS OF TABMENU1
						// set tabmenu2-cookie
						var TAB2_COOKIE = 'tabmenu2';
						var tabmenu2_ID = '';
				
						// set cookie to categories
						jQuery('#a2').click(function() {
							tabmenu2_ID = 'best_sellers';
							jQuery.cookie(TAB2_COOKIE, tabmenu2_ID, { path: '/', expires: 7 });
							return false;
						});
						
						// set cookie to musicfilter
						jQuery('#b2').click(function() {
							tabmenu2_ID = 'last_viewed';
							jQuery.cookie(TAB2_COOKIE, tabmenu2_ID, { path: '/', expires: 7 });
							return false;
						});
						
						// read from cookie
						tabmenu2_ID = jQuery.cookie(TAB2_COOKIE);
				
						// set default to categories
						if (tabmenu2_ID != 'last_viewed') { tabmenu2_ID = 'best_sellers'; }
				
						return tabmenu2_ID;

						break;
		}  
	}
}

/*
 * Site Helpers
 */

Site.Helper.LicenseGuide = {
	init: function() {
		$("#main").scrollable({
			vertical: true 
		}).navigator({
			navi: '#main_navi',
			naviItem: 'a',
			activeClass: 'current',
			history: false
		});
	}
};

Site.Helper.UpdatePrice = {
	init: function() {
		
		var price = $("input.price-selection:checked").closest('div.product-option').find('span.price').text();
		$('span.final-price').text(price);

		$("input.price-selection").click(function(){
			var price = $(this).closest('div.product-option').find('span.price').text();
			$('span.final-price').text(price);
		});
		
	},
	
};
