/*
	Default JS behaviour
*/

var isOpera = navigator.userAgent.indexOf("Opera") > -1;
var isIE = navigator.userAgent.indexOf("MSIE") > 1 && !isOpera;
var isMoz = navigator.userAgent.indexOf("Mozilla/5.") == 0 && !isOpera;


//ONLOAD EVENT HANDLER
$(document).ready(function()
{
	//INIT GAME SLIDER
	var slider = $('div#slider');
	if ( slider.length != 0 )
	{
		slider.gameSlider();
	}
	$('div.base-tabs').Tabs();

	//Емотчета
	emotsToTextBox('textarea#emailMessageArea');
	analyticsInit();
	refreshCachedWindow();

	//Гласува за анкета
	$('a#pollVoteBtn').click(function()
	{
		pollVote();
	});

});

//RESIZE EVENT HANDLER
$(window).resize(function()
{
	refreshCachedWindow();
});

//SCROLL EVENT HANDLER
$(window).scroll(function()
{
	refreshCachedWindow();
});


// GAME ICONS SLIDER  -----------------------------------------------------------------------------
jQuery.fn.gameSlider = function(settings)
{
	 settings = jQuery.extend({
			easing:'linear',
			duration:200,
			toolTip:false,
			toolTipSet : {track: true, delay: 20, showURL: false, showBody: ' - '}
		}, settings );

	var currentOffset = 0;
	var iconsPerPage = 9;
	var sliderStep = 4;

	var slider = $(this);
	var prevBtn = $('a#prev-game');
	var nextBtn = $('a#next-game');

	var icons = slider.find('a');
	var iconsCount = icons.length;
	var iconWidth = icons.width();

	var sliderWidth = iconsCount*iconWidth;

	//Minimal and Maximal Offset
	var minOffset = 0;
	var maxOffset = (sliderWidth - (iconsPerPage*iconWidth));

	var slide =
		function(direction)
		{
			if( 'next' == direction )
			{
				offset = currentOffset + (sliderStep*iconWidth);
				if( offset > maxOffset )
				{
					offset = maxOffset;
				}
			}
			else if( 'prev' == direction )
			{
				offset = currentOffset - (sliderStep*iconWidth);
				if( offset < minOffset )
				{
					offset = minOffset;
				}
			}
			if( offset == currentOffset )
			{
				return false; //exit no more where to slide
			}

			currentOffset = offset;
			updateArrows();
			slider.animate({left:'-'+offset+'px'}, settings.duration, settings.easing, null);
			return false;
		};

	var updateArrows =
		function()
		{
			//disable/enable prev/next arrows
			if(currentOffset == minOffset)
				 prevBtn.addClass('prev-inactive');
			else prevBtn.removeClass('prev-inactive');

			if(currentOffset == maxOffset)
				 nextBtn.addClass('next-inactive');
			else nextBtn.removeClass('next-inactive');
		}


	//Set exact width of the slider
	slider.css('width',''+sliderWidth+'px');

	//Slide tо sellected element
	var selectedIdx = slider.find('a.game-selected').attr('rel').split('-');
	selectedIdx = selectedIdx[1];
	if( selectedIdx > iconsPerPage )
	{
		offset = (selectedIdx-iconsPerPage)*iconWidth;
		currentOffset = offset;
		slider.animate({left:'-'+offset+'px'}, settings.duration, settings.easing, null);
		updateArrows();
	}

	//next games
	nextBtn.click(function()
	{
		return slide('next');
	});

	//previous games
	prevBtn.click(function()
	{
		return slide('prev');
	});

};
//-------------------------------------------------------------------------------------------------

// Tabs control
jQuery.fn.Tabs = function()
{
	$(this).each(function()
	{
		//Инициализиране на всяка таб контрола на страницата

		var tabNav     = $(this).find('div.tnav');
		var tabContent = $(this).find('div.tcontent');

		tabNav.find('a').each(function(idx)
		{
			var ref = $(this).attr('rel');
			this.contentRef = $(this).parent().parent().find('div#'+ref);

			if( this.contentRef )
			{
				$(this).click(function()
				{
					if( $(this).hasClass('tab-selected') )
					{
						return false;
					}

					//Deselect на стария таб
					tabNav.find('a').removeClass('tab-selected');
					//Select на конкретния таб
					$(this).addClass('tab-selected');

					//скривам старото съдържание
					tabContent.find('div.tab-content').removeClass('tab-visible');

					//показвам новото съдържание
					this.contentRef.addClass('tab-visible');

					return false;
				});
			}
		});
		return true;
	});
};



function parseTemplate(template, key, val)
{
	var tmp = template.replace('', '');

	for (var i=0; i<key.length; i++)
	{
		tmp = tmp.replace(new RegExp( '{'+key[i]+'}', 'g' ), val[i]);
	}

	return tmp;
}


jQuery.fn.center = function () {
    this.css("position","absolute");
    this.css("top", ( $(window).height() - this.height() ) / 2+$(window).scrollTop() + "px");
    this.css("left", ( $(window).width() - this.width() ) / 2+$(window).scrollLeft() + "px");
    return this;
}
jQuery.fn.botRight = function () {
    this.css("position","absolute");
    this.css("top", ( $(window).height() - this.height() ) + "px");
    this.css("left", ( $(window).width() - this.width() ) - 5 + "px");
    return this;
}

function notify(tl, tx) {
	var unique_id = $.gritter.add({
		title: tl,
		text: tx,
		time: 2000
	});
	$('#gritter-notice-wrapper').center();
}


function friendIsOnline(id, username, haveAvatar) {

	if (parseInt(haveAvatar) == 0)
	{
		var avatar =  'no_avatar';
	}
	else
	{
		var avatar = id;
	}


	var ttl = '<a href="javascript:;" onclick="LiveChat.startChat('+id+');" class="i-start-chat">'+t('Chat')+'</a>';
	var unique_id = $.gritter.add({
		title: t('%username% is online', { 'username' : username }),
		text: ttl,
		image: 'http://static.djagi.com/avatars/'+avatar+'.gif',
		time: 3000
	});
	$('#gritter-notice-wrapper').botRight();

}


//
function emotsToTextBox(textBoxSelector)
{
	txtArea = $(textBoxSelector);
	txtArea = txtArea[0];
	if( txtArea )
	{
		$("#emotIcons span").click(function()
		{
			placeEmot(txtArea, $(this).attr('rel'));
		});
	}
}

/*
 * Place emot icon code ;-) :) (bandit)
 */
function placeEmot(domTextBox, str)
{
	if( !domTextBox ) return;

	domTextBox.focus();
	if( isIE )
	{
		var oRange = document.selection.createRange();
		oRange.text = str;
		oRange.collapse(true);
		oRange.select();
	}
	else
	{
		var iStart = domTextBox.selectionStart;
		domTextBox.value = domTextBox.value.substring(0, iStart) + str + domTextBox.value.substring(domTextBox.selectionEnd, domTextBox.value.length);
		domTextBox.setSelectionRange(iStart + str.length, iStart + str.length);
	}
	domTextBox.focus();
}


function sendFriendRequest(user) {
	$.post("/ajax/friend.php", {
						'do' : 'request',
						'user' : user,
						'comment' : $('#friendComment').val()
					},
					function(data){
						$('.popup').find('.body').html(data);
					},
			"json");
}



function readAdminNotice(id) {
	$.post("/ajax/system.php", {
						'readNote' : 'true',
						'noteId' : id
					},
					function(data){
						$('#massNotice').fadeOut('fast');
					},
			"json");
}

function friendList(id) {
	$('#inviteFriendOnTable').attr('href', '/ajax/inviteFriendOnTable.php?gameId='+id);
	$('#inviteFriendOnTable').trigger('click');
}

function popupLogin() {
	$('#inviteFriendOnTable').attr('href', '/ajax/popupLogin.php');
	$('#inviteFriendOnTable').trigger('click');
}

function newFriendRequest(userId) {
	$('#friendRequestNew').attr('href', '/ajax/friend.php?user='+userId);
	$('#friendRequestNew').trigger('click');
}



'.$user->id.'

function saveProfileProgress()
{
	if ($('#day').val() > 0)
	{
		if ($('#month').val() == 0)
		{
			return;
		}

		if ($('#year').val() == 0)
		{
			return;
		}

		$.post("/ajax/editProfile.php", {
							'field' : 'birthday',
							'day' : $('#day').val(),
							'month' : $('#month').val(),
							'year' : $('#year').val()
						},
						function(data){
							$('#birthRow').fadeOut('fast');
							var cur = parseInt($('.pp-gauge-worm').css('width'));
							$('.pp-gauge-worm').css('width', (cur+10+'%'))
							$('.pp-percent').html((cur+25+'%'))
						},
				"json");
	}


	if ($('#city').val() > 0)
	{
		$.post("/ajax/editProfile.php", {
							'field' : 'city',
							'city' : $('#city').val()
						},
						function(data){
							$('#cityRow').fadeOut('fast');
							var cur = parseInt($('.pp-gauge-worm').css('width'));
							$('.pp-gauge-worm').css('width', (cur+10+'%'))
							$('.pp-percent').html((cur+25+'%'))
						},
				"json");
	}


	if (jQuery('#genderContent input:radio:checked').val() > 0)
	{
		$.post("/ajax/editProfile.php", {
							'field' : 'gender',
							'gender' : jQuery('#genderContent input:radio:checked').val()
						},
						function(data){
							$('#genderRow').fadeOut('fast');
							var cur = parseInt($('.pp-gauge-worm').css('width'));
							$('.pp-gauge-worm').css('width', (cur+10+'%'))
							$('.pp-percent').html((cur+25+'%'))
						},
				"json");
	}

}



/* Dynamic counters - less lag*/
function analyticsInit()
{
	var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
	//Load script
	jQuery.getScript(gaJsHost + "google-analytics.com/ga.js", function()
	{
		try {
			var pageTracker = _gat._getTracker("UA-5736809-1");//"UA-9110286-1"
//			pageTracker._setDomainName(".sportal.bg");
			pageTracker._trackPageview();
		}
		catch(err){}
	});
}


function refreshCachedWindow()
{
	// get cached document properties
	if($.browser.msie) CACHED_WINDOW.ie = true;
	if(CACHED_WINDOW.ie){
		CACHED_WINDOW.x = $(window).scrollLeft(),
		CACHED_WINDOW.y = $(window).scrollTop(),
		CACHED_WINDOW.w = $(window).width(),
		CACHED_WINDOW.h = $(window).height(),
		CACHED_WINDOW.rx = $(document).width() - CACHED_WINDOW.w - CACHED_WINDOW.x -20	,
		CACHED_WINDOW.ry = CACHED_WINDOW.y
	}else{
		CACHED_WINDOW.x = $(window).scrollLeft(),
		CACHED_WINDOW.y = $(window).scrollTop(),
		CACHED_WINDOW.w = $(window).width(),
		CACHED_WINDOW.h = $(window).height(),
		CACHED_WINDOW.rx = 0,
		CACHED_WINDOW.ry = 0
	}
}
var CACHED_WINDOW = {
	// cached window properties
	w : 0,
	h : 0,
	x : 0,
	y : 0,
	rx : 0,
	ry : 0,
	ie: false
}

function toggleDisplay(el)
{
	if ($('#'+el).css('display') == 'none')
	{
		$('#'+el).css('display', 'block');
	}
	else
	{
		$('#'+el).css('display', 'none');
	}
}

function purchaseChips(gameId, have)
{
	$('#tempLink').attr('href', '/ajax/buyChips.php?buyChips='+gameId+'&have='+have);
	$('#tempLink').trigger('click');
}

/* Vote for Poll */
function pollVote()
{
	var pollId = $('input#pollId').val();
	var voteId = $('div#pollOptionsContainer input:checked').val();

	if( !voteId )
	{
		//показва съобщение за грешка
		$('div#pollOptionsContainer .msg-err').css('display','block');
		return false;
	}

	//Скрива копчето
	$('a#pollVoteBtn').css('display','none');

	$.post( "/ajax/pollVote.php",
	 		{'poll': pollId, 'vote' : voteId},
			function(data)
			{
				$('div#pollContent').html(data);
			},
			'html'
	);

	return false;
}

/* Reports broken SMS codes */
function submitSmsReport(el) {

	var smsCode = $('#facebox').find('#codeInput').val();
	var gsmNumber = $('#facebox').find('#gsmInput').val();
	var desc = $('#facebox').find('#desc').val();
	$(el).removeAttr('onclick');


	$.post( "/ajax/extras.php",
			{ 'submitSmsReport': 'true', 'code': smsCode, 'gsm': gsmNumber, 'desc': desc, 'userId': $('#userId').val() },
			function(response)
			{
				$.facebox(response);
				setTimeout("$.facebox.close()", 5000);
			},
			'html'
	);
}