$(document).ready(function() {
    var message = '';
    $.ajaxSetup({
		error:function(x,e){
			if(x.status==0){
                            message = 'Du har mistet netværksforbindelse. Prøv senere.';
			}else if(x.status==404){
                            message = 'Det er sket en fejl på serveren, jeg kigger på det med det samme.';
			}else if(x.status==500){
                            message = 'Det er sket en fejl på serveren, jeg kigger på det med det samme.';
			}else if(e=='parsererror'){
                            message = 'Det er sket en fejl på serveren, jeg kigger på det med det samme.';
			}else if(e=='timeout'){
                            message = 'Svartiden fra serveren er alt for lang, jeg kigger på det med det samme';
			}else {
                            message = 'Det sker noget mystiskt med vores server, jeg kigger på det med det samme';
			}

                        displayGlobalErrorMessage(message);
		}
	});

    $("#user").focus();
    
    Comment = new Comment();
    Comment.init();

    $('#utilitymenu-maillink').mouseover(function() {
        $('#utilitymenu-maillink-tip').fadeIn();
    }).mouseout(function() {
        $('#utilitymenu-maillink-tip').fadeOut();
    });
    
    $(".stbuttontext").text(translate('Del dette', 'Share this'));
    
})

function puff(formId, callback, left, top)
{

	 var left = left || 30;
	 var top  = top || 50;
     var callback = callback || false;
     var languageString = translate('Gemt', 'Saved');
     
     var position = $("#" + formId + " .button").offset();

     $('<div id="puffer"></div>')
        .html('<img src="fileadmin/template/images/icons/check_green.png" /> <br />' + languageString)
        .appendTo('body')
        .css({
            'top'  : position.top - top,
            'left' : position.left + left
        })
        .hide()
        .fadeIn()
        .delay(1000)
        .effect('puff', {}, 'fast', callback);;

}

function displayErrorMessage(message)
{
    $('<div id="global-error-message"></div>');
}

function displayGlobalErrorMessage(message)
{
     /*$("<div class='global-error-message'></div>")
                            .html('<p>' + message + '</p>')
                            .appendTo('body')
                            .hide()
                            .slideDown();*/
}

function translate(danish, english)
{
	if($("#javascrip-language-control").val() == 'en') {
		return english;
	}else if($("#javascrip-language-control").val() == 'da') {
		return danish;
	}else	{
		return danish;
	}
}

function Comment() 
{

	this.init = function() 
	{					
		if($("#submit_new_comment").length > 0) {
	    
	    	$("#submit_new_comment").click(function() {
	    		Comment.saveComment($(this).attr('rel'));
	    	});	    
	    }
	    
	    this.fetchAllComments();	    
	}
	
	this.saveComment = function(pageId) 
	{
		if($("#new_comment_text").val() != '') {
			
			$("#submit_new_comment").text(translate('Gemmer...', 'Saving...'));
			
			$.ajax({
				type     : 'post',
				url      : 'fileadmin/template/ajax/savecomment.php',
				datatype : 'json',
				data     : 'comment=' + $("#new_comment_text").val() + '&page_id=' + pageId,
				success  : function(json) {
					if(json.result == 'success') {
						$("#comments").css('min-height', $("#comments").height());
						$("#comments ul").fadeOut('fast', function() {
							$(this).replaceWith('<img id="comment-loader" src="fileadmin/template/images/spinners/ajax-loader-personlist.gif" />');
							puff('post-new-comment', function() {Comment.fetchAllComments()}, 200, 50);
							$("#submit_new_comment").text(translate('Gem kommentar', 'Save comment'));
							$("#new_comment_text").val('');
						});							
					}
				},
				error    : function(XMLHttpRequest, textStatus, errorThrown) {
					alert(errorThrown);
				}
			});
			
		}	
	}
	
	this.fetchAllComments = function()
	{
		
		$.ajax({
			type     : 'post',
			url      : 'fileadmin/template/ajax/fetchcomments.php',
			datatype : 'html',
			data     : 'pageId=' + $("#submit_new_comment").attr('rel'),
			success  : function(html) {
				Comment.displayAllComments(html);
			},
			error    : function(XMLHttpRequest, textStatus, errorThrown) {
				alert(errorThrown);
			}
		});
	
	}
	
	this.displayAllComments = function(comments)
	{
		$("#comment-loader").fadeOut('fast', function() {
			$(this).remove();
			$(comments).insertAfter("#comments h4").hide().fadeIn('fast');
		});
	}

}

