﻿/// <reference path="jquery-1.4.4-vsdoc.js" />
jQuery.fn.clickOutside = function (callback) {
	var outside = 1, self = $(this);
	self.cb = callback;
	this.click(function () {
		outside = 0;
	});
	$(document).click(function () {
		outside && self.cb();
		outside = 1;
	});
	return $(this);
}

$(document).ready(function () {
    $('#bar').jixedbar();
    $('#bar').show();

    $('abbr.timeago').timeago();
    function addDefaultKey(element, target) {
        $(element).keypress(function (e) {
            if (e.keyCode == 13) {
                e.returnValue = false;
                target();
                e.preventDefault();
                return false;
            }
        });
    }
    $('#alertList').click(function () {
        var url = $(this).data('clear');
        $.post(url);
        $('.alerts-new').addClass('alerts').removeClass('alerts-new');
        return false;
    });

    $('#clearAlerts').click(function () {
        var url = $(this).attr('href');
        $.post(url);
        $('.alerts-new').addClass('alerts').removeClass('alerts-new');
        return false;
    });

    $.fn.checkField = function (options) {
        var defaults = {
            cssClass: 'hidden',
            msg: 'Error'
        };
        var options = $.extend({}, defaults, options);

        this.blur(function () {
            $.post(options.url,
				{
				    value: $(this).val()
				},
				function (data) {
				    if (data == 'False') {
				        $(options.field).addClass(options.cssClass).text(options.msg);
				    }
				    else {
				        $(options.field).removeClass(options.cssClass).text(options.msg);
				    }
				}
			);
        });
    };

    if (notification) {
        $("#notification span").text(notification);
        $("#notification").fadeIn("slow");
    }
    $("#notification a.close-notify").click(function () {
        $("#notification").fadeOut("slow");
        return false;
    });

    $('.error-notification').live('click', function () {
        $(this).fadeOut('fast', function () { $(this).remove(); });
    });

    var $loginButton = $('#loginButton');
    var $loginBox = $('#loginBox');
    var $loginForm = $('#loginForm');

    var $accountButton = $('#accountButton');
    var $accountBox = $('#accountBox');

    $loginButton.removeAttr('href');
    $loginButton.click(function () {
        $loginBox.toggle();
        $loginButton.toggleClass('active');
        return false;
    });
    $accountButton.click(function () {
        $accountBox.toggle();
        $accountButton.toggleClass('active');
        return false;
    });
    $loginForm.click(function () {
        return false;
    });
    $loginForm.clickOutside(function () { $loginBox.hide(); });
    $accountBox.clickOutside(function () { $accountBox.hide(); });
    $('#forgotPassword').click(function () { location.href = $(this).attr('href'); return false; });
    $('#login').click(function () {
        $loginForm.submit();
    });
    $accountBox.find('a').click(function () {
        location.href = $(this).attr('href');
    });
});

function showErrorBox(message, $el) {
	$('.error-notification').remove();
	var $err = $('<div>').addClass('error-notification')
														.html(message + '(click on this box to close)');
	$el.after($err);
	var height = $err.outerHeight();
	var top = $el.position().top;
	var scrollTop = $(document).scrollTop();
	var winHeight = $(window).height();
	var bottomOfBox = top + height + $el.outerHeight() - scrollTop;
	if (bottomOfBox > winHeight) {
		$err.css('top', $el.position().top - height - $el.outerHeight());
	}
	$err.css('left', $el.position().left);
	$err.fadeIn('fast');
}
// GOOGLE ANALYTICS
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
try {
	var pageTracker = _gat._getTracker("UA-1607383-3");
	pageTracker._trackPageview();
} catch (err) { }
setInterval("update_page()", 60000);
function update_page() {
	$.post(userOnlineUrl, function (data) {
		$('#onlineUsers').html(data);
	});
}
//END GOOGLE ANALYTICS
