2 return this.replace(new RegExp(s1,"gm"),s2);
3 };
4 (function($){
5 /*
6 * $-layer 0.1 - New Wave Javascript
7 *
8 * Copyright (c) 2008 King Wong
9
10 * $Date: 2008-10-09 $
11 */
12 var ___id___ = "";
13 var ___settings___ = {};
14 var isMouseDown = false;
15
16 var currentElement = null;
17
18 var dropCallbacks = {};
19 var dragCallbacks = {};
20
21 var bubblings = {};
22
23 var lastMouseX;
24 var lastMouseY;
25 var lastElemTop;
26 var lastElemLeft;
27
28 var dragStatus = {};
29
30 var holdingHandler = false;
31
32 $.getMousePosition = function(e){
33 var posx = 0;
34 var posy = 0;
35
36 if (!e) var e = window.event;
37
38 if (e.pageX || e.pageY) {
39 posx = e.pageX;
40 posy = e.pageY;
41 }
42 else if (e.clientX || e.clientY) {
43 posx = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
44 posy = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;
45 }
46 return { 'x': posx, 'y': posy };
47 };
48 $.updatePosition = function(e) {
49 var pos = $.getMousePosition(e);
50
51 var spanX = (pos.x - lastMouseX);
52 var spanY = (pos.y - lastMouseY);
53 var _top = (lastElemTop + spanY) > 0 ? (lastElemTop + spanY) : 0;
54 var _left = (lastElemLeft + spanX) > 0 ? (lastElemLeft + spanX) : 0;
55 $("#"+___id___).css("top", _top);
56 $("#"+___id___).css("left", _left);
57 };
58
59 $.fn.ondrag = function(callback){
60 return this.each(function(){
61 dragCallbacks[this.id] = callback;
62 });
63 };
64 $.fn.ondrop = function(callback){
65 return this.each(function(){
66 dropCallbacks[this.id] = callback;
67 });
68 };
69
70 $.fn.dragOff = function(){
71 return this.each(function(){
72 dragStatus[this.id] = 'off';
73 });
74 };
75
76 $.fn.dragOn = function(){
77 return this.each(function(){
78 dragStatus[this.id] = 'on';
79 });
80 };
81 $.extend({
82 layerSettings:{
83 id:"layerdiv",
84 width:220,
85 height:220,
86 templete:'<div style="height:20px; width:@width@px; background-color:#777777;"><span >})(jQuery);