$(document).ready(initSite);

var JSEvent = function()
{
	this.eventAction = new Array();
 
	this.subscribe = function(fn)
	{
		this.eventAction.push(fn);
	};
 
	this.unsubscribe = function(fn)
	{
	    var fnPos = $.inArray(fn, this.eventAction);
	    if (fnPos != -1)
	        this.eventAction[fnPos] = false;
	};
 
	this.fire = function()
	{
		for (f=0;f<this.eventAction.length;f++)
	        if (this.eventAction[f] != false)
	            this.eventAction[f].apply(this, arguments);
	};
};


var onClickOutside = new JSEvent();

function initSite()
{
	$("#langHolder").click(openLangOptions);

    $(".langOption").click(function(event){
        event.stopPropagation();
    })

	$('body').click(function() {
	 	onClickOutside.fire();
	 });

	onClickOutside.subscribe(closeLangOptions);
	
	$("a.tutLink").fancybox({
				'transitionIn'	: 'elastic',
				'transitionOut'	: 'elastic',
				'speedIn'		: 500, 
				'speedOut'		: 500,
				'overlayOpacity': 0.8,
				'easingIn'      : 'easeOutBack',
				'easingOut'     : 'easeInBack',
				'overlayColor'	: "black",
				'width'			: 820,
				'height'		: 530
			});	

	$("a.feedbackBtn").fancybox({
				'transitionIn'	: 'elastic',
				'transitionOut'	: 'elastic',
				'speedIn'		: 500,
				'speedOut'		: 500,
				'overlayOpacity': 0.8,
				'easingIn'      : 'easeOutBack',
				'easingOut'     : 'easeInBack',
				'overlayColor'	: "black",
				'width'			: 390,
				'onComplete'	: injectReportInfos
			});	
			
	bindTooltips();
	
	$(".messages .message .closeMsg").click(closeMessage);
}

function closeMessage()
{
    $(this).parent().animate({"opacity":0}, 300, function(){
        $(this).css("display", "none");
        $(this).css("opacity", 1);
    })
}

function bindTooltips()
{
	$("[title]").bt(
	{
		trigger     : "hoverIntent",
		fill        : 'rgba(0, 0, 0, .8)',
		strokeStyle	: "#f68032",
		positions	  : ['top', 'right', 'left'],
		padding     : '5px',
		width: function()
		{
			var textSize = $(this).html().length * 6;
			if (textSize > 122)
				textSize = 122;
			return textSize;
		},
		cssStyles: 
		{
			color: 'white',
			fontSize: "10px",
			textAlign :"center"
		},
		hoverIntentOpts: 
		{
			interval: 400,
			timeout: 200
		},
		contentSelector: function()
		{
			return $(this).attr('title').replace(/\\n/g, "<br />");
		}
	});	
}

function injectReportInfos()
{
	var urlInput = $("#fancybox-frame").contents().find("#id_urlinput");
	urlInput.val(window.location);
}

function openLangOptions()
{
	$("#langOptions").css("display", "block");
	
	return false;
}

function closeLangOptions()
{
	$("#langOptions").css("display", "none");
}

function resizeFancyBox()
{
    var iFrameContentHeight = document.getElementById('fancybox-frame').contentWindow.document.body.scrollHeight;
    var iFrameContentWidth = document.getElementById('fancybox-frame').contentWindow.document.body.scrollWidth; 
    
    var outer = $('#fancybox-wrap');
    var inner = $('#fancybox-inner');
    var paddingTotal = 60;
    var extra = 10;
    
    if(iFrameContentHeight > 0 && iFrameContentWidth > 0)
    {
            outer.css({
                    height: iFrameContentHeight + paddingTotal ,
                    width: iFrameContentWidth + paddingTotal 
            });
            inner.css({
                    height: iFrameContentHeight + extra,
                    width: iFrameContentWidth + extra
            });
            $.fancybox.center();
    }
} 

