(function(C){C.extend(C.fn,{livequery:function(B,H,I){var J=this,A;
if(C.isFunction(B)){I=H,H=B,B=undefined
}C.each(C.livequery.queries,function(F,E){if(J.selector==E.selector&&J.context==E.context&&B==E.type&&(!H||H.$lqguid==E.fn.$lqguid)&&(!I||I.$lqguid==E.fn2.$lqguid)){return(A=E)&&false
}});
A=A||new C.livequery(this.selector,this.context,B,H,I);
A.stopped=false;
C.livequery.run(A.id);
return this
},expire:function(A,B,G){var H=this;
if(C.isFunction(A)){G=B,B=A,A=undefined
}C.each(C.livequery.queries,function(F,E){if(H.selector==E.selector&&H.context==E.context&&(!A||A==E.type)&&(!B||B.$lqguid==E.fn.$lqguid)&&(!G||G.$lqguid==E.fn2.$lqguid)&&!this.stopped){C.livequery.stop(E.id)
}});
return this
}});
C.livequery=function(J,H,A,B,I){this.selector=J;
this.context=H||document;
this.type=A;
this.fn=B;
this.fn2=I;
this.elements=[];
this.stopped=false;
this.id=C.livequery.queries.push(this)-1;
B.$lqguid=B.$lqguid||C.livequery.guid++;
if(I){I.$lqguid=I.$lqguid||C.livequery.guid++
}return this
};
C.livequery.prototype={stop:function(){var A=this;
if(this.type){this.elements.unbind(this.type,this.fn)
}else{if(this.fn2){this.elements.each(function(F,B){A.fn2.apply(B)
})
}}this.elements=[];
this.stopped=true
},run:function(){if(this.stopped){return 
}var B=this;
var A=this.elements,G=C(this.selector,this.context),H=G.not(A);
this.elements=G;
if(this.type){H.bind(this.type,this.fn);
if(A.length>0){C.each(A,function(F,E){if(C.inArray(E,G)<0){C.event.remove(E,B.type,B.fn)
}})
}}else{H.each(function(){B.fn.apply(this)
});
if(this.fn2&&A.length>0){C.each(A,function(F,E){if(C.inArray(E,G)<0){B.fn2.apply(E)
}})
}}}};
C.extend(C.livequery,{guid:0,queries:[],queue:[],running:false,timeout:null,checkQueue:function(){if(C.livequery.running&&C.livequery.queue.length){var A=C.livequery.queue.length;
while(A--){C.livequery.queries[C.livequery.queue.shift()].run()
}}},pause:function(){C.livequery.running=false
},play:function(){C.livequery.running=true;
C.livequery.run()
},registerPlugin:function(){C.each(arguments,function(B,A){if(!C.fn[A]){return 
}var F=C.fn[A];
C.fn[A]=function(){var E=F.apply(this,arguments);
C.livequery.run();
return E
}
})
},run:function(A){if(A!=undefined){if(C.inArray(A,C.livequery.queue)<0){C.livequery.queue.push(A)
}}else{C.each(C.livequery.queries,function(B){if(C.inArray(B,C.livequery.queue)<0){C.livequery.queue.push(B)
}})
}if(C.livequery.timeout){clearTimeout(C.livequery.timeout)
}C.livequery.timeout=setTimeout(C.livequery.checkQueue,20)
},stop:function(A){if(A!=undefined){C.livequery.queries[A].stop()
}else{C.each(C.livequery.queries,function(B){C.livequery.queries[B].stop()
})
}}});
C.livequery.registerPlugin("append","prepend","after","before","wrap","attr","removeAttr","addClass","removeClass","toggleClass","empty","remove");
C(function(){C.livequery.play()
});
var D=C.prototype.init;
C.prototype.init=function(F,A){var B=D.apply(this,arguments);
if(F&&F.selector){B.context=F.context,B.selector=F.selector
}if(typeof F=="string"){B.context=A||document,B.selector=F
}return B
};
C.prototype.init.prototype=C.prototype
})(jQuery);