/************************************************************************
 *	 					DEFAUlT FUNCTIONS								*
 * *********************************************************************/

function scrollTo(selector) 
{
	//window.scrollBy(0,50); // horizontal and vertical scroll increments
	var targetOffset = ($(selector).offset().top - ($('#toolbar ul').height() + 2)) - $('#nav_menu').height();
	$('html,body').animate({scrollTop: targetOffset}, 1000);
}

var flashVersion = null;

function getFlashVersion() {

   var agent = navigator.userAgent.toLowerCase();
       flashVersion = 0; 

   if (agent.indexOf("mozilla/3") != -1 && agent.indexOf("msie") == -1) {
      flashVersion = 0;
   }
   // NS3+, Opera3+, IE5+ Mac (support plugin array):  check for Flash plugin in plugin array
   if (navigator.plugins != null && navigator.plugins.length > 0) {
      var flashPlugin = navigator.plugins['Shockwave Flash']; 

      if (typeof flashPlugin == 'object') {
            for (i=25;i>0;i--) {
                  if (flashPlugin.description.indexOf(i+'.') != -1){ 
                           flashVersion = i;
              }
            }
      }
    }
	
	return flashVersion;
}



function showAjaxLoader()
{
	var inbox = $('#inbox').parents('div').attr('id')
	
	if(inbox != 'page_content')
	{
		$('#' + inbox).remove();
	}
	
	var sent = $('#sent').parents('div').attr('id')
	
	if(sent != 'page_content')
	{
		$('#' + sent).remove();
	}

	var trash = $('#trash').parents('div').attr('id')
	
	if(trash != 'page_content')
	{
		$('#' + trash).remove();
	}

}

/////////////////////////////////////////////////////////////////////////

//hides the ajax loader
/*function hideAjaxLoader()
{		
	//$.modal.close();
	setClicks();
}*/

// load all necesarry scripts on window load
$(document).ready(function () 
{						
        $('#nav_down_link').click(function() {
            scrollTo('#mobile_menu');
            return false;
        });
		
		$('#nav_up_link').click(function() {
            scrollTo('#toolbar');
            return false;
        });
		
		$('#toggle_nav').click(function(){
				if($('#header').css('display') == 'block')
				{
					$(this).removeClass('navmin');
					$(this).addClass('navmax');
					$('body').css('margin-top', '0');
					$('#header').hide();
					$.ajax({url : '/players/navsession/closed', success: function(data, event){ $('#footer').html(data)}});
				} else {
					$(this).removeClass('navmax');
					$(this).addClass('navmin');
					$('body').css('margin-top', '74px');
					$('#header').show();
					$.ajax({url : '/players/navsession/open', success: function(data, event){ $('#footer').html(data)}});
				}
			});

		$('.themes').live('click', function(e){

				e.preventDefault();

				var themeid = $(this).attr('id');

				var id = themeid.substr(themeid.lastIndexOf('-') + 1);

				$.ajax({url: '/players/changetheme/' + id, 
						success: function(data){
									cloc = document.location;
									document.location = cloc;
						}
					});
			});

		$.each((".thumb-link-up .thumb-link-down").split(" "), function(i, name){
				$(name).live('click', function(e){
						e.preventDefault();
						var className = $(this).attr('class');;

						var type = className.substr(className.lastIndexOf('-') + 1);

						var id = $(this).attr('id');
						var game_id = id.substr(id.lastIndexOf('_') + 1);
						var rate = id.substr(0, id.indexOf('_'));

						parent = $(this).parents('div.gamerating');

						showGameRating(game_id, rate);

						return false;
					});
			});

		/*$('.thumb-up-link').click(function(){
				var id = $(this).attr('id');
				var game_id = id.substr(id.lastIndexOf('_') + 1);

				//var parent = $(this).parents('div.gamerating');
				var parent = $('div.gamerating', this);

				showGameRating()

				//$(parent).load('/gameratings/rategame/up/' + game_id);
				$(parent).append('/gameratings/rategame/up/' + game_id);
			});

		$('.thumb-down-link').click(function(){
				var id = $(this).attr('id');
				var game_id = id.substr(id.lastIndexOf('_') + 1);

				var parent = $(this).parents('div.gamerating');

				$(parent).load('/gameratings/rategame/down/' + game_id);
			});*/
});

var div = null;
var parent = null;

function showGameRating(game_id, rated)
{
	div = $('<div></div>').css({
			'border-width': '0',
			'margin': '0',
			'padding': '0',
			'background':'black none repeat scroll 0 0',
			//display:none,
			'height':'2500px',
			'left':'0',
			'top':'0',
			'width':'100%',
			'z-index':'5000',
			//display:none,
			'position':'fixed',
			'-moz-background-clip': '-moz-initial',
			'-moz-background-origin': '-moz-initial',
			'-moz-background-inline-policy': '-moz-initial'
  });

	$('body').append(div);

	divs = $('<div></div>');

	divs.css({width: '200px',
			height: '150px',
			background: '#000000',
			position: 'fixed',
			top: '45%',
			left:'5%',
			//opacity: '0.7',
			border: '1px solid #FFFFFF',
			'z-index': '15000'});
	
	divs.attr('align', 'center');

	up = '<span class="thumb-up" style="padding: 10px"><a href="#" onclick="rateGame(\'up\', ' + game_id + ')" id="gamerating_up_' + game_id + '" class="thumb-link-up-rate"><img alt="" src="/img/ThumbsUp.png"/></a></span>';
	down = '<span class="thumb-down" style="padding: 0 10px"><a href="#" onclick="rateGame(\'down\', ' + game_id + ')" id="gamerating_down_' + game_id + '" class="thumb-link-down-rate"><img alt="" src="/img/ThumbsDown.png"/></a></span>';
	
	var msg = '<div class="white-text">Rate This Game</div><br /><br />';
	var close = '<div align="center"><a href="#" onclick="removeRating()">Close</a></div>';
	
	if(rated == 'rated')
	{
		divs.html('<div class="white-text">You have already voted for this game</div><br style="clear:both"/><br style="clear:both" />' + close);
	} else if(rated == 'login') {
		divs.html('<div class="white-text">Please login to vote</div><br style="clear:both"/><br style="clear:both" />' + close);
	} else {
		divs.html(msg + up + '&nbsp;&nbsp;&nbsp;' + down + '<br style="clear:both"/><br style="clear:both" />' + close);
	}
	
	$('body').append(divs);
}

function removeRating()
{
	div.remove();
	divs.remove();
	
	div = null;
	divs = null;
}

function rateGame(type, game_id)
{
	$(parent).removeClass('gamerating').load('/gameratings/rategame/' + type + '/' + game_id, {success: removeRating});
}
