var Dj = {

	start: function() {
		this.tweakLayout();
		this.tweakButtons();
		this.addFunctionalities();
		this.ieTweaks();
	},
	
	
	tweakLayout: function() {
		$('html').addClass('js');
		
		// Sign inputs for IE
		if ($.browser.msie) {
			$('input').each(function() {
				if ($(this).attr('type') == 'text') {
					$(this).addClass('text');
				}
				else if ($(this).attr('type') == 'password') {
					$(this).addClass('password');
				}
				else if ($(this).attr('type') == 'checkbox') {
					$(this).addClass('checkbox');
				}
				else if ($(this).attr('type') == 'radio') {
					$(this).addClass('radio');
				}
			});
		}
		
	},
	
	tweakButtons: function() {
		$('input.login-button').each(function() {
			var $submit = $(this);
			var classes = this.className;
			var val = $submit.attr('value');
			$submit.after('<a class="' + classes + '" href="#">' + val + '</a>');
			$submit.next().click(function() {
				$submit.click();
				return false;
			});
			$submit.hide();
		});
		$('input.button').each(function() {
			var $submit = $(this);
			var classes = this.className;
			var val = $submit.attr('value');
			$submit.after('<a class="' + classes + '" href="#">' + val + '</a>');
			$submit.next().click(function() {
				$submit.click();
				return false;
			});
			$submit.hide();
		});
	},
	
	addFunctionalities: function() {
		//adding blank target
		$('.blank').attr('target', '_blank');
		$('.datepicker').datepicker({ 
			dateFormat: 'yy-mm-dd',
			dayNamesMin: ['Pn', 'Wt', 'Śr', 'Cz', 'Pt', 'Sb', 'Nd'],
			monthNames: ['Styczeń', 'Luty', 'Marzec', 'Kwiecień', 'Maj', 'Czerwiec', 'Lipiec', 'Sierpień', 'Wrzesień', 'Październik', 'Listopad', 'Grudzień']
		});

		
		//nav
		$('.nav').each(function() {
			var $this = $(this);
			$this.find('> ul > li').each(function() {
				var $li = $(this);
				if ($li.find('ul').length > 0) {
					var $ul = $li.find('ul');
					var in_transition = false;
					$li.find('> a:first').click(function() {
						if (!in_transition) {
							if (!$ul.hasClass('shown')) {
								in_transition = true;
								$ul.slideDown(function() {
									$ul.addClass('shown');
									in_transition = false;
								})
							}
							else {
								in_transition = true;
								$ul.slideUp(function() {
									$ul.removeClass('shown');
									in_transition = false;
								})
							}
						}
						return false;
					});
				}
			});
			
			//delete mycase elements
			$('.nav.mycase form').each(function() {
				var $this = $(this);
				$this.find('.del').click(function() {
					// var action = $(this).attr('href');
					// $this.attr('action', action);
					$this.submit();
					return false;
				});
			});
			
			// var $ul = $this.find()
			
			// $this.find('> li > a:first').click(function() {
				// if (!in_transition) {
					
				// }
			// });
		});
		
		//listing table details
		$('.listing').each(function() {
			var in_transistion = false;
			function showDetails($details, $row, in_transistion) {
				if (!$row.hasClass('shown')) {
					in_transistion = true;
					$details.slideDown(function() {
						$row.addClass('shown');
						$row.find('.more').text('ukryj');
						in_transistion = false;
					});
				}
			}
			function hideDetails($details, $row, in_transistion) {
				if ($row.hasClass('shown')) {
					in_transistion = true;
					$details.slideUp(function() {
						$row.removeClass('shown');
						$row.find('.more').text('więcej');
						in_transistion = false;
					});
				}
			}
			
			var $table = $(this);
			
			$table.find('> tbody > tr:not(.details)').each(function() {
				var $row = $(this);
				var $details = $row.next().find('.inner');
				$row.find('.more').click(function() {
					if ($row.hasClass('shown')) {
						if (!in_transistion) {
							in_transistion = hideDetails($details, $row);
						}
					}
					else {
						if (!in_transistion) {
							in_transistion = showDetails($details, $row);
						}
					}
					return false;
				});
				
				$row.find('.img').each(function() {
					var $this = $(this);
					if (!$.browser.msie) {
						$this.append($this.html()).find('img:last').addClass('enlarged');
						$this.hover(function() {
							$this.find('.enlarged').addClass('shown');
						}, function() {
							$this.find('.enlarged').removeClass('shown');
						});
					}
					else {
						$this.mouseover(function() {
							$('body').append($this.html()).find('img:last').addClass('enlarged');
							$('.enlarged').css('position', 'absolute');
							$('.enlarged').css('top', $this.offset().top + 'px');
							$('.enlarged').css('left', $this.offset().left + 'px');
							$('.enlarged').addClass('shown');
							$('img.enlarged').mouseout(function() {
								$('img.enlarged').remove();
							});
						});
						
					}
				});
			});
			
			
			
		});
		
		//add to case
		$('.add-to-case').click(function(){
			$('#form-list').submit();
			return false;					
		});
		
		//add to wishlist
		$('.add-to-wishlist').click(function(){
			$('#action-field')[0].setAttribute('value', 'add');			
			$('#form-list').submit();
			return false;					
		});
		
		//remove from wishlist
		$('.remove-from-wishlist').click(function(){
			$('#action-field')[0].setAttribute('value', 'remove');			
			$('#form-list').submit();
			return false;					
		});
		
		//popups
		$('.popup').click(function() {
			if($.browser.msie){
				Dj.openPopup($(this).attr('href'), 455, 545);
			}else{
				Dj.openPopup($(this).attr('href'), 435, 545);
			}		
			return false;
		});
			
		//play
		/*
		$('.speaker').click(function(){
			var title = $(this).attr('rel');
			var mp3 = $(this).attr('id');
			var html = '<object id="player2" type="application/x-shockwave-flash" data="'+site_url+'view/player/player_mp3_maxi.swf" width="280" height="30">'+
						'<param name="allowScriptAccess" value="sameDomain" />'+
						'<param name="allowFullScreen" value="false" />'+
						'<param name="movie" value="'+site_url+'view/player/player_mp3_maxi.swf" />'+
						'<param name="quality" value="high" />'+
						'<param name="wmode" value="transparent" />'+ 
						'<param name="bgcolor" value="#000000" />	'+
						'<param name="FlashVars" value="mp3='+mp3+'&amp;width=280&amp;height=30&amp;showstop=0&amp;showvolume=1&amp;bgcolor1=0f486d&amp;bgcolor2=0f486d&amp;sliderovercolor=db7028&amp;buttonovercolor=db7028&amp;autoplay=1" />'+
					'</object><div style="margin: 2px 0 0 0;color:#ffffff;">'+title+'</div>';
			$('#player-wrapper').html(html);
				
		});
		*/
		
		$('.speaker').click(function() {
			var $this = $(this);
			if (!$this.hasClass('active')) {
				$('.speaker.active').removeClass('active');
				$this.addClass('active');
				$.ajax({
					type: "get",
					url: site_url+'ajax?action=listenHit&id='+$this.attr('rel'),
					dataType: "json",
					success: function(data){
						
					}
				});
			}
		});
		
		//form submit by enter key
		if ($.browser.msie) {
			$('form').each(function() {
				var $this = $(this);
				setListener($this.find('input[type="password"]'));
				setListener($this.find('input[type="text"]'));
				
				function setListener($input) {
					$input.keypress(function(e) {
						if (/^13$/.test(e.keyCode)) {
							$this.submit();
						}
					});
				}
			});
		}
		
		//search form
		//delete caption in search form
		$('#search input[name="q"]').focus(function() {
			$(this).val('').unbind('focus');
		});
		$('#search select[name="w"]').change(function() {
			$('#search').attr('action', $(this).val());
		});
		
		//fb
		$('#fb').each(function() {
			var $this = $(this);
			var in_motion = false;
			$this.hover(function() {
				if (!in_motion) {
					in_motion = true;
					$this.animate({right: '0px'}, 750, function() {
						in_motion = false;
					});
				}
			}, function() {
				$this.animate({right: '-300px'}, 750, function() {
				});
			});
		});

	},
	
	ieTweaks: function() {
		if ($.browser.msie && /MSIE 6.0/.test(navigator.userAgent)) {
			function giveHover($el) {
				$el.hover(function() {
					$el.addClass('fHover');
				}, function() {
					$el.removeClass('fHover');
				});
			}
			
			$('#nav ul li').each(function() {
				giveHover($(this));
			});
		}
	},
	
	openPopup: function(url, width, height) {
		var left = screen.width/2 - width/2;
		var top = screen.height/2 - height/2;
		
		var config = 'left=' + left + ',top=' + top + ', height=' + height + ', width=' + width + ',innerheight=' + height + ',innerwidth=' + width + ',toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=1,resizable=no';
		
		popup = window.open(url, 'popup', config);
		return false;
	}
	
}

$(function() {
	Dj.start();
});
