/*************************
 Init globals
*************************/

(function(jQuery) {
	jQuery.lm = function() {
		return this;
	};
	jQuery.lm.globals = {
		'voteFuncAdd':'/Web/Core/Handlers/RatingAddVote.ashx',
		'voteFuncGet':'http://services.lantmannen.se/rating/v1/getVote.ashx',
		'voteFuncGetTop':'http://services.lantmannen.se/rating/v1/getTopVote.ashx',
		'recaptchaKey': '6LdZcAcAAAAAAG00WB82TeNGZxd_Tcyu9DjGW-58'
	};
    //6LdZcAcAAAAAAG00WB82TeNGZxd_Tcyu9DjGW-58 global key
	//6LdLXAMAAAAAAMJEVwne5up7xZCJtStyyUbRWKs4 lantmannen.se
	//6LclngYAAAAAAG2D14oQ_yYb5LwTq_2N3hbcnU9O setest.lantmannen.episerverhotell.net
})(jQuery);

// Trim strings
String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g, ''); }



/*************************
 Tracker help function(s)
*************************/

function getCleanPath()
{
	var url = document.URL;
	var domain = document.domain;
	url = url.replace('http://', '');
	url = url.replace('https://', '');
	url = url.replace(domain, '');
	return (url.toLowerCase());
}

function akLogEvent(actionName)
{
	var path = getCleanPath();
	pageTracker._trackPageview(escape(actionName + '(' + getCleanPath() + ')'));
}

function trackGA(stat)
{
	pageTracker._trackPageview(stat);
}

/*************************
	grayout
*************************/

function showGrayOut()
{
	var screenOffset = (document.all)?document.body.scrollTop:window.pageYOffset;
//	jQuery('#grayout').css('top', screenOffset + 'px');
	jQuery('#grayout').show();

}

function hideGrayOut()
{
	jQuery('#grayout').hide();
}


/*************************

	Hide/show popups functions

**************************/

function hideSendToFriend()
{
	hideGrayOut();
	jQuery('#popup_sendtofriend').hide();
	return false;
}


function openSendToFriend()
{
	showGrayOut();
	var screenOffset = (document.all)?document.body.scrollTop:window.pageYOffset;
	var obj = jQuery('#popup_sendtofriend');
//	obj.css('top', (screenOffset+100)+'px');
	obj.show();
	return false;
}

/*************************

	Rating functions

**************************/

var shareInitialized = false;
var shareAppKey;
var sharePageId;
var shareTypeId;
var shareRemoteAddr;
var shareUrl;
var shareTitle;

function InitShare(pageId)
{
	//if (!shareInitialized)
	//{
		shareAppKey = jQuery('#app-key').html();
		shareRemoteAddr = jQuery('#remote-addr').html();
		sharePageId = parseInt(jQuery('#share-page-id'+pageId).val(), 10);
		shareTypeId = parseInt(jQuery('#share-type-id'+pageId).val(), 10);
		shareUrl = jQuery('#share-url'+pageId).val(); //getCleanPath();
		shareTitle = jQuery('#share-title'+pageId).val();
	//	shareInitialized = true;
	//}
}

function AddVote(appKey, itemType, userIP, itemUrl, itemTitle, vote, optionalId)
{
	jQuery.getJSON(jQuery.lm.globals.voteFuncAdd+"?appKey="+appKey+"&itemType="+itemType+"&ip="+userIP+"&itemUrl="+itemUrl+"&itemTitle="+itemTitle+"&vote="+vote+"&itemOptionalId="+optionalId+"&jsoncallback=?",
		function(data)
		{
			//jQuery("<p/>").text(data.success).appendTo("#rating");
			createCookie('rating'+optionalId,'1',30);
			TryDisableVoting(optionalId);
			jQuery('.num-votes'+optionalId).html(parseInt(jQuery('.num-votes'+optionalId).html(), 10) + 1);
			jQuery('#num-votes'+optionalId).html(parseInt(jQuery('.num-votes'+optionalId).html(), 10) + 1);
		});
	return false;
}

function RatingHasVoted(pageId)
{
	return readCookie('rating'+pageId)=='1'?true:false;
}

function TryDisableVoting(pageId)
{
	if (RatingHasVoted(pageId))//Check if voted
	{
		jQuery('a.vote-for'+pageId).css('background-image', "url('/content/images/sharing/likeInactive.jpg')");
		jQuery('a#vote-for'+pageId).css('background-image', "url('/content/images/sharing/likeInactive.jpg')");
		jQuery('a.vote-for'+pageId).css('color', 'silver');
		jQuery('a#vote-for'+pageId).css('color', 'silver');
		jQuery('a.vote-for'+pageId).css('cursor', 'no-drop');
		jQuery('a#vote-for'+pageId).css('cursor', 'no-drop');
	}
	else
	{
		jQuery('a.vote-for'+pageId).css('background-image', "url('/content/images/sharing/likeIcon.jpg')");
	}
}

function GetVote(pageId)
{
	InitShare(pageId);

	jQuery.getJSON(jQuery.lm.globals.voteFuncGet+"?jsoncallback=?",
		{
			appKey: shareAppKey,
			itemType: shareTypeId,
			itemOptionalId: pageId
		},
		function(data)
		{
			if(data.items!=0)
			{
				jQuery.each(data.items, function(i,item){
					try{
						jQuery('.num-votes'+pageId).html(item.score!=null?item.score:0);
					}catch(err){}
				});
			}
			else
				jQuery('.num-votes'+pageId).html(0);
			//if (data.success == true)
			//	jQuery('.num-votes'+pageId).html(data.score!=null?data.score:0);
			//else
			//	jQuery('body').prepend('<div style="background-color:sandybrown">Error fetching votes.</div>');
		});

	TryDisableVoting(pageId);
}

function Vote(pageId)
{
	if (RatingHasVoted(pageId))
		return false;

	InitShare(pageId);
	AddVote(shareAppKey, shareTypeId, shareRemoteAddr, shareUrl, shareTitle, '1', pageId);

	return false;
}

function GetVoteList(appKey, itemType, optionalId)
{
	jQuery.getJSON(jQuery.lm.globals.voteFuncGet+"?appKey="+appKey+"&itemType="+itemType+"&itemOptionalId="+optionalId+"&jsoncallback=?",{},
		function(data){

			jQuery('#rating'+optionalId).html(data.score);

	});

	if(RatingHasVoted(optionalId)) //Check if voted.
	{
		TryDisableVoting(pageId);

		jQuery('#likeImage'+optionalId).attr({src : '/content/images/sharing/likeInactive.jpg'});
		jQuery('#likeTransp'+optionalId).css('display', 'block');
		jQuery('#likeText'+optionalId).css('color', '#92918f');
	}
}

function GetTopRated(appKey, itemType, nrOfItems)
{
	jQuery.getJSON(jQuery.lm.globals.voteFuncGetTop+"?appKey="+appKey+"&itemType="+itemType+"&nrOfItems="+nrOfItems+"&jsoncallback=?",
		function(data){
			jQuery.each(data.items, function(i,item){
				jQuery("<a/>").text(i++ +'. ' + item.title+' ('+item.score+' gillningar)').attr({href : item.url}).appendTo("#toprated");
				jQuery("<br/>").appendTo("#toprated");
				if ( i == nrOfItems - 1 ) return false;
			});
	});

	return false;
}

/*************************

	Send mail functions

**************************/

function SendToFriend()
{
    jQuery.getJSON('/Web/Core/Handlers/SharingSendToFriend.ashx?',
		{
			fromAddress: jQuery('#send-from-address').val(),
			fromName: jQuery('#send-from-name').val(),
			toAddress: jQuery('#send-to-address').val(),
			message: jQuery('#send-message').val(),
			linkUrl: jQuery('#send-link-url').val()
		},
		function(data)
		{
			hideSendToFriend();
		});

	akLogEvent('SendToFriend');

	return false;
}





/*************************

	Reporting functions

**************************/


/*************************

	Tag Cloud functions

**************************/

function toggleMoreBrands()
{
	var disp = $('divMoreBrands').style.display;

	if (disp == 'block')
		$('divMoreBrands').style.display = 'none';
	else if (disp == 'none')
		$('divMoreBrands').style.display = 'block';
}

/*************************

	Cookie functions

**************************/

function createCookie(name,value,days)
{
	if (days)
	{
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else
	{
		var expires = "";
	}
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name)
{
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++)
	{
		var c = ca[i];
		while (c.charAt(0)==' ')
			c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0)
			return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

/*************************

	Flash functions

**************************/

function expandFlash(state)
{
	/*
	if (state == 1)
	{
		$('flashLargeHolder').style.height = '420px';
		$('playerLarge').style.height = '420px';
	}
	else
	{
		$('flashLargeHolder').style.height = '185px';
		$('playerLarge').style.height = '185px';
	}
	*/
}

var flashVolume = 0;

function getVolume()
{
	flashVolume = readCookie('flashVol');
	if (flashVolume == null)
		flashVolume = 0;
	return flashVolume;
}

function setVolume(vol)
{
	flashVolume = vol;
	createCookie('flashVol', flashVolume, 30);
}

function soundOn()
{
	flashVolume = 100;
	createCookie('flashVol', flashVolume, 30);
}

function soundOff()
{
	flashVolume = 0;
	createCookie('flashVol', flashVolume, 30);
}

function initFlash()
{
	for (var i=0; i<fo_obj_queue.length; i++)
	{
		var f = fo_obj_queue[i];
		if (swfobject.hasFlashPlayerVersion(f.version))
			swfobject.embedSWF(f.file, f.replace, f.width, f.height, f.version, null, f.flashvars, f.params, f.attributes);
		else
			jQuery(f.replace).html('<p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></p>');

	}
}

var fo_obj_queue = new Array();

function enqueueFlash(obj)
{
	fo_obj_queue[fo_obj_queue.length] = obj;
}

