$(document).ready(function()
{
	// document size
	var windowWidth = $(window).width();

	// event delegation for header clicks
	$('body').click(function(event)
	{	
		var target = $(event.target);
		
		// if hover_box is visible - hide it
		if ($("div#tooltip_box").is(":visible"))
		{			
			$("div.hilight").removeClass("hilight");			
			if ($(target).is("div.eventTitle, div.wcj_Gcal_item_title")) {
				$("div#tooltip_box").hide();
				$("div#tooltip_box div#tooltip_content").html("");
			} else {
				$("div.hasActiveTooltip").removeClass("hasActiveTooltip");
				$("div#tooltip_box").fadeOut(100, function() { $("div#tooltip_box div#tooltip_content").html(""); } );
			}
		}		
			
		if ($(target).is("div.head_login, div.head_login div")) {
			btn_headLogin_handler($(target).closest("div"));
		}
		else if ($(target).is("button#cmdSwingWebLogin, button#cmdSwingWebLogin span")) {
			btn_doSwingWebLogin_handler($(target));			
		}
		else if ($(target).is("div.head_loggedIn, div.head_loggedIn div, div.head_loggedIn div span")) {
			window.location.href = '/min-sida';
		}
		else if ($(target).is("div.eventTitle,div.wcj_Gcal_item_title")) {
			// is popup already active for this element ?			
			if ($(target).hasClass("hasActiveTooltip")) {
				// hide it
				$("div.hilight").removeClass("hilight");
				$(target).removeClass("hasActiveTooltip");
				$("div#tooltip_box").fadeOut(100, function() { $("div#tooltip_box div#tooltip_content").html(""); } );
			} else {
				// position based on what kind of element
				$("div.hasActiveTooltip").removeClass("hasActiveTooltip");
				$(target).addClass("hasActiveTooltip");
				var pos;
				var tooltipLeft = 0;
				if ($(target).is("div.wcj_Gcal_item_title")) {					
					$(target).closest("div.wcj_Gcal_item").addClass("hilight");	
					pos = $(target).closest("div.wcj_Gcal_item").offset();
					tooltipLeft = pos.left + ($(target).closest("div.wcj_Gcal_item").width() / 2) - ($("div#tooltip_box").width() / 2);
				} else {
					$(target).addClass("hilight");	
					pos = $(target).offset();
					tooltipLeft = pos.left + ($(target).width() / 2) - ($("div#tooltip_box").width() / 2);
					if (tooltipLeft < 5) tooltipLeft = 5;
					if ((tooltipLeft + $("div#tooltip_box").width()) >= (windowWidth + 5)) tooltipLeft = windowWidth - $("div#tooltip_box").width() - 5;
				}

				// top position
				var tooltipTop = pos.top + $(target).height() + 5;

				//alert("left: " + pos.left + ", top: " + pos.top);
				$("div#tooltip_content").html($(target).attr("rel"));
				$("div#tooltip_box").css({left: tooltipLeft + "px", top: tooltipTop + "px"}).fadeIn(100);
			}
		}
		

		//event.preventDefault();
	});

	// event title hover in calendars
	/*$('div.eventTitle').hover(function (e) {
		var pos = $(this).offset();
		$("div#hover_box").css({left: (pos.left + ($(this).width() / 2)) - ($("div#hover_box").width() / 2), top: pos.top + $(this).height() + 10});
		$("div#hover_box").html($(this).attr("rel")).fadeIn(100);
	}, function(e) {
		$("div#hover_box").fadeOut(100).html("");
	});*/


	$('form#swingWebLoginForm').submit(function() {		
		return false;
	});
		
	// bind focus and blur to search input
	$('div.head_search input').bind('focus mouseup', function(e) {		
		if (e.type == 'focus') {
			$(this).closest('div.head_search').addClass('head_search_active');
			if ($(this).val() == "Sök") $(this).val("");
			$(this).select();
		} else {
			return false;
		}
		
	});
	$('div.head_search input').blur(function() {
		if (jQuery.trim($(this).val()) == "") $(this).val("Sök");
		$(this).closest('div.head_search').removeClass('head_search_active');
	});
		
	// fix for wcj_Gcal and css(3) pseudo selectors
	if ($('div.wcj_Gcal_widget').length > 0)
	{
		$('div.wcj_Gcal_widget div.wcj_Gcal_items div.wcj_Gcal_item:only-child').each(function() {$(this).addClass('only-child');});
		$('div.wcj_Gcal_widget div.wcj_Gcal_items div.wcj_Gcal_item:first-child').not('div.only-child').each(function() { $(this).addClass('first-child');});
		$('div.wcj_Gcal_widget div.wcj_Gcal_items div.wcj_Gcal_item:last-child').not('div.only-child, div.first-child').each(function() { $(this).addClass('last-child');});
	}
	
	// fix for extendedLinksList and css(3) pseudo selectors
	if ($('ul.extendedLinksList').length > 0)
	{
		$('ul.extendedLinksList li ul li:odd').addClass('odd');
	}
	
	// faq
	if ($('ul.faq_nav').length > 0)
	{
		// :not(:first) didn't seem to work in IE so anyhow...
		$('div.faq_Category').hide();
		$('div.faq_Category:first').show();
		$('ul.faq_nav li a').click(function() {
			$('ul.faq_nav li').removeClass('active');
			$(this).closest('li').addClass('active');
			$('div.faq_Category').hide();
			$('div#'+$(this).attr("rel")).show();
		});
	}
});

function btn_headLogin_handler(el) {
	// get position of button
	var position = $(el).offset();
	$("div#loginBoxContainer").css("left",(position.left+90-127)+"px");
	$("div#loginBoxContainer").css("top", (position.top+33)+"px");
		
	$(el).toggleClass('head_login_active');
	$("div#loginBoxContainer").slideToggle(100);
}

function btn_doSwingWebLogin_handler(el) {
	// hide error message
	$(el).closest('div#loginBox').children('p.warning').html("").hide();
	var data = {
		action: 'swingweblogin',
		nonce: wcjAjax.nonce,
		swingWebLoginUsername: $('input#swingWebLoginUsername').val(),
		swingWebLoginPassword: $('input#swingWebLoginPassword').val(),
		swingWebLoginRememberMe: $('input#swingWebLoginRememberMe').attr("checked") ? "1" : "0"
	};
	
	jQuery.post(wcjAjax.ajaxurl, data, function(response) {
		// success?
		if (response.status == "success") {
			// replace login-button with link to user page
			$.get('/wp-content/themes/wcj/ajax.php',{action: 'getPage', page: 'userPageButton'}, function(response) {
				$('div.head_login').replaceWith(response);
			});
			$("div#loginBoxContainer").slideToggle(100);
		} else {
			// output error
			$(el).closest('div#loginBox').children('p.warning').html(response.message).show();
		}
	},"json");
}


