jQuery.fn.extend({
    findPos : function() {
		obj = $(this).get(0);
		var curleft = obj.offsetLeft || 0;
		var curtop = obj.offsetTop || 0;
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
		return {x:curleft,y:curtop};
	},

	mouseoutside : function(event) {
        var location = this.findPos();
        var side = null;
        var marge = 3 ;
       	if(event.pageX < location.x + marge) side = 'left';
       	if(event.pageX >= location.x + this.width()) side = 'right';
       	if(event.pageY < location.y + marge) side = 'top';
       	if(event.pageY >= location.y + this.height()) side = 'bottom';
		return side;
	},
	
	infoCss: function(event) {
        this.mouseover(function(){
            var info = '';
            info += "color:" + $(this).css("color") + "\n"
            info += "background-color:" + $(this).css("background-color") + "\n"
            info += "margin:" + $(this).css("margin") + "\n"
            info += "padding:" + $(this).css("padding") + "\n"
            info += "z-index:" + $(this).css("z-index") + "\n"
            msgBox(info);
            e.stopPropagation();
        })
        return this;
    },
    
    login : function(){
        this.click(function(){
            $("#login").dialog({ 
                modal: true, 
                overlay: { 
                    opacity: 0.5, 
                    background: "black" 
                },
                buttons: { 
                    "Ok": function() { 
                        alert("Ok"); 
                    }, 
                    "Cancel": function() { 
                        $(this).dialog("close"); 
                } 
            } 

            });
            return false;
        })
    },
    
    widgetmin : function(){
    	this.click(function(){
    		$(this).parent().parent().next().hide(200);
    		return false;
    	});
    },

    widgetmax : function(){
    	this.click(function(){
    		$(this).parent().parent().next().show(200);
    		return false;
    	});
    },
    
    tips : function(){
    	this.css({display: "none"}); // Opera Fix
    	this.prev().hover(function(){
			$(this).next().css({visibility: "visible",display: "none"}).show(400);
		},function(){
			$(this).next().css({visibility: "hidden"});
    	});
    },
    
    villageInfo : function(){
    	this.hover(function(){
			$(this).find(".travianBulle").css({visibility: "visible",display: "none"}).show(400);
		},function(){
			$(this).find(".travianBulle").css({visibility: "hidden"});
    	});
    },
    clickable : function(){
    	this.click(function(){
    		window.location=$(this).children(".url").attr("value");
    	});
    },

    htmlInfo : function(){
    	this.click(function(){
    		alert($(this).parent().html());
    	});
    }

});
       
msgBox = function(value) {
	$("#information").text(value);
};

function loop() {
    window.location=$("#url").attr("value");
}

function redirect() {
    var delai = parseInt($("#delai").attr("value")) * 1000;
    setTimeout("loop()", delai);
}
    
function mainmenu(){
	$(" .topMenu ul ").css({display: "none"}); // Opera Fix
	$(" .topMenu li").hover(function(){
		$(this).find('ul:first').css({visibility: "visible",display: "none"}).show(400);
		},function(){
		$(this).find('ul:first').css({visibility: "hidden"});
	});
}

function widgetSortable(){
  $(".col").sortable({
    connectWith: [".col"],
    opacity: 0.5,
    fx: 200,
    handle: "dt",
    cursor: "move",
    items: ".sortables",
    placeholder: "ui-selected",
    zIndex: 50,
    sort: function(e,ui){
        ui.placeholder.width(ui.helper.width());
        ui.placeholder.height(ui.helper.height()-10);
    },
    over: function(e,ui){
      if(ui.item.parent().hasClass("colMain")){
        ui.helper.removeClass("colMain colBorder");
        ui.helper.addClass("colMain");
      } else {
        ui.helper.removeClass("colMain colBorder");
        ui.helper.addClass("colBorder");
      };
    }
  });
}
