var InsJs = {
	requestBlock: false,
    requestForm: function(form, resultDiv, loadingDiv, callback)
    {
        if (InsJs.requestBlock) {
            return false;
        }

        if (!loadingDiv) {
            loadingDiv = resultDiv;
        }
        if (!callback) {
            callback = function(){};
        }
		
        jQuery.ajax({
            url: $(form).attr('action'),
            type: $(form).attr('method'),
            data: $(form).serialize(),
            beforeSend  : function() {
                InsJs.requestBlock = true;
                $(loadingDiv).show().html('<div class="loading"></div>');
            },
            success: function(text) {
                InsJs.requestBlock = false;
                $(resultDiv).hide().html(text);
                $(resultDiv).fadeIn('fast');
                callback(text);
            }
        });
        return false;
    },
	slideContent: function(div, link)
	{
		if ($('#'+div).css('display')=='none') {
			$('#'+div).slideDown('normal', function() {
				if (link) {
					$(link).removeClass('closed');
					$(link).addClass('opened');
				}
			});
		}
		else {
			$('#'+div).slideUp('normal', function() {
				if (link) {
					$(link).removeClass('opened');
					$(link).addClass('closed');
				}
			});
		}
		return false;
	},
	checkRatioAndContent: function(ratio, div, classTohide)
	{
		ratio = $('#'+ratio);
		if (!ratio.attr('disabled')) {
			ratio.attr('checked', true);

			div = $('#'+div);
			if (div.css('display') == 'none') {
				$('.'+classTohide).slideUp();
				div.slideDown();
			}
		}
		return false;
	},
	highlightEvent: function(id_state)
	{
		if (!$('.event-list-state-'+id_state).hasClass('highlight')) {
			$('.event-list').removeClass('highlight');
		}
		$('.event-list-state-'+id_state).each(function(){
			if (this.childNodes.length > 1) {
				var link = this.childNodes[1];
				if (link.tagName == 'A' && link.href) {
					document.location = link.href;
					return;
				}
			}
			$(this).toggleClass('highlight');
		});
	}
};
