$(function(){

	// Page
	$('.page-container, .page-section, .page-sitemap, .page-footer').append('<div class="clear" />');
	
	// Forms
	$('form input').each(function(){
		$(this).addClass( this.type + '-input' );
	});

	// Tables
	$('table').find('tr').find('*:first').addClass('first').parent().find('*:last').addClass('last');

	// Headers
	$('.header-like-tab').addClass('ready').after('<div class="clear border" />');

	// Page-header Menu
	$('.page-header').each(function(){
		$(this).find('.menu li:has(ul)').hover(function(){
			$(this).addClass('hovered');
		}, function(){
			$(this).removeClass('hovered');
		});
		var $languages = $(this).find('.navigation .languages');
		$languages.find('a.current').toggle(function(){
			$languages.find('dl').show();
		}, function(){
			$languages.find('dl').hide();
		});
	});



	/* ~~~ Pages ~~~ */

	// Index [page]
	$('.casino-games-short, .bonus-calculator, .news-instance, .tournament-instance').append('<div class="clear" />');
	$('.list-table').find('tr:even').addClass('even');
	
	$('.bonus-calculator').each(function(){
		var $table = $(this).find('table');
		var $rows = $table.find('tr:has(td)');
		var $panes = $(this).find('.selected-bonus > .pane');
		// Init
		$rows.first().addClass('active');
		$panes.hide().first().show();
		// Click
		$rows.find('.name-cell a').click(function(){
			var index = $rows.find('.name-cell a').index($(this));
			$rows.removeClass('active').eq(index).addClass('active');
			$panes.hide().eq(index).show();
			return false;
		});
	});


	// Software [page]
	$('.info-list-table').find('tr:last').addClass('last');


	// Casino Games [page]
	$('.interesting-offers').append('<div class="clear" />').find('li:last').addClass('last');
	$('.offer-instance .actions select, select.redirect').change(function(){
		if ($(this).val() != '') window.open($(this).val());
	});
	$('.casino-games').each(function(){
		$(this).append('<div class="clear" />').find('.scrollable ul li').find('a.play').append('<span class="overlay">Play now</span>');
		$(this).find('.scrollable').each(function(){
			var $items = $(this).find('ul > li');
			for(var i = 0; i < $items.length; i+=4) {
			$items.slice(i, i+4).wrapAll("<li class='items'><ul /></li>");
			}
		});
		$(this).find('.rounded:nth-child(3n+1)').addClass('third');
		$(this).find('.body').sameHeight();
	});
	$('.casino-games-finder').append('<div class="clear" />');


	// Bonuses [page]
	$('.bonuses-list').each(function(){
		$(this).find('.rounded:nth-child(3n)').addClass('third');
		$(this).find('ul').sameHeight();
		$(this).find('a.info-link').tooltip();
	});

	// Review [page]
	$('.screenshots-list a, .screenshot-item a, a.screenshot, .large-screenshots-list a').fancybox({
		overlayOpacity:		0.7,
		overlayColor:		'#000',
		transitionIn:		'elastic',
		transitionOut:		'elastic',
		padding:				5
	});
	$('.commentaries-list dl').append('<div class="clear" />');
	
	$('.rate-form fieldset').each(function(){
        if (no_rating)
        {
            var $fieldset = $(this);
            var $links = $fieldset.find('a');
            $links.click(function(){
                return false;
            });
            return false;
        }

		var $fieldset = $(this);
		var $inputs = $fieldset.find('.radio-input').hide();
		// Add stars	
		$inputs.each(function(){
			$(this).after('<a href="#">' + $(this).val() + '</a>');
		});
		// Already vote		
		$fieldset.find('.radio-input:checked').each(function(){
			$(this).prevUntil().addClass('active');
			$(this).next().addClass('active');
		});
		// Hover on start
		var $links = $fieldset.find('a');
		$links.hover(function(){
			$links.removeClass('active');
			$(this).addClass('active').prevUntil().addClass('active');
        },function(){
			var $current = $fieldset.find('.radio-input:checked');
			if ($current.length) {
				$current.nextUntil().removeClass('active');
				$current.prevUntil().addClass('active');
				$current.next().addClass('active');
			} else {
				$links.removeClass('active');
			}
		});
		// Click on start
		$links.click(function(){
			$inputs.removeAttr('checked');
			$(this).prev().attr('checked', 'checked');
            return false;
		});
	});

	// FAQ [page]
	$('.page-sidebar .basic-form textarea').each(function(){
		var value = $(this).attr('value');
		$(this).bind({
			blur:	function() {if (this.value=='') this.value=value;},
			focus:	function() {if (this.value==value) this.value='';}
		});
	});
	$('.questions-list dl').append('<div class="clear" />');
	
	// News item [page]
	$('.casinos-slider').each(function(){
		var $items = $(this).find('ul > li');
		for(var i = 0; i < $items.length; i+=3) {
			$items.slice(i, i+3).wrapAll("<li class='items'><ul /></li>");
		}
	});
	$('.slots-slider').each(function(){
		var $items = $(this).find('ul > li');
		for(var i = 0; i < $items.length; i+=2) {
			$items.slice(i, i+2).wrapAll("<li class='items'><ul /></li>");
		}
		$items.find('.screenshot').append('<span class="zoom" />');
	});
	$('.sortable-casinos-list > ul').easyListSplitter({
	   colNumber: 3
	});
	
	// Review-text [page]
	$('.casino-rating').each(function(){
		$(this).find('ul.info li:last').addClass('last');
	});
	
	// Review-bonus [page]
	$('.casino-bonuses-list').each(function(){
		var $tabs = $(this).find('.tabs');
		$tabs.find('a').append('<span class="right"/><span class="left"/><span class="arrow" />')
		$tabs.tabs(".panes.rounded > .pane");
	});
	
	// Payment [page]
	$('.payment-methods-list').each(function(){
		$(this).find('.rounded').sameHeight();
		$(this).find('.rounded:nth-child(3n)').addClass('third');
	});

    // Slot [page]
	$('.slot-info a[href^="#"]').fancybox({
		overlayOpacity:		0.7,
		overlayColor:		'#000',
		padding:			25
	});
	
	// News [page]
	$('.compact-recent-news li').each(function(){
		$(this).height($(this).height()).wrapInner('<div class="overlay" />').hover(function(){
			$(this).addClass('hovered');
		},function(){
			$(this).removeClass('hovered');
		})
	});
	
	// Blackjack [page]
	$('.game-casinos').each(function(){
		var $tabs = $(this).find('.tabs');
		$tabs.prepend('<span class="nav next" /><span class="nav prev" />');
		var api = $tabs.tabs('.casino',{
			rotate:	true,
			tabs:	'li',
			event:	'dblclick'
		}).data('tabs');
		$tabs.find('.prev').click(function(){
			api.prev()
		});
		$tabs.find('.next').click(function(){
			api.next()
		});
	});

	//// Scrollable
	$('.scrollable').each(function(){
		$(this).prepend('<a href="#" class="prev nav" /><a href="#" class="next nav" />').find('ul:first').wrap('<div class="scrollable-inner" />').parent().scrollable();
		$(this).find('a.nav').click(function() { return false; })
	});

});



