compass-jquery-plugin 0.2.4.5 → 0.2.4.99

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. data/README.textile +36 -4
  2. data/VERSION.yml +1 -1
  3. data/compass-jquery-plugin.gemspec +49 -3
  4. data/gem_tasks/calendar.rake +2 -2
  5. data/gem_tasks/dynatree.rake +2 -2
  6. data/gem_tasks/jqgrid.rake +2 -2
  7. data/gem_tasks/jqtouch.rake +114 -0
  8. data/gem_tasks/jrails.rake +20 -4
  9. data/gem_tasks/rubygems.rake +4 -1
  10. data/gem_tasks/secret_sauce.rake +2 -2
  11. data/lib/jquery/jqgrid/jqgrid.rb +435 -0
  12. data/lib/jquery/jqgrid/jqgrid2xml.rb +50 -0
  13. data/lib/jquery/jqgrid.rb +3 -419
  14. data/lib/jquery/jqtouch.rb +4 -0
  15. data/templates/dynatree/jquery.ui/dynatree.vista/folder.png +0 -0
  16. data/templates/dynatree/manifest.rb +0 -1
  17. data/templates/jqtouch/config/initializers/jqtouch.rb +3 -0
  18. data/templates/jqtouch/jqtouch/apple/backButton.png +0 -0
  19. data/templates/jqtouch/jqtouch/apple/blueButton.png +0 -0
  20. data/templates/jqtouch/jqtouch/apple/cancel.png +0 -0
  21. data/templates/jqtouch/jqtouch/apple/chevron.png +0 -0
  22. data/templates/jqtouch/jqtouch/apple/grayButton.png +0 -0
  23. data/templates/jqtouch/jqtouch/apple/listArrowSel.png +0 -0
  24. data/templates/jqtouch/jqtouch/apple/listGroup.png +0 -0
  25. data/templates/jqtouch/jqtouch/apple/loading.gif +0 -0
  26. data/templates/jqtouch/jqtouch/apple/on_off.png +0 -0
  27. data/templates/jqtouch/jqtouch/apple/pinstripes.png +0 -0
  28. data/templates/jqtouch/jqtouch/apple/selection.png +0 -0
  29. data/templates/jqtouch/jqtouch/apple/thumb.png +0 -0
  30. data/templates/jqtouch/jqtouch/apple/toggle.png +0 -0
  31. data/templates/jqtouch/jqtouch/apple/toggleOn.png +0 -0
  32. data/templates/jqtouch/jqtouch/apple/toolButton.png +0 -0
  33. data/templates/jqtouch/jqtouch/apple/toolbar.png +0 -0
  34. data/templates/jqtouch/jqtouch/apple/whiteButton.png +0 -0
  35. data/templates/jqtouch/jqtouch/apple.sass +651 -0
  36. data/templates/jqtouch/jqtouch/icons/iphone_16x16.png +0 -0
  37. data/templates/jqtouch/jqtouch/iphone-emulator.sass +17 -0
  38. data/templates/jqtouch/jqtouch/iphone_fullsize.png +0 -0
  39. data/templates/jqtouch/jqtouch/jqt/back_button.png +0 -0
  40. data/templates/jqtouch/jqtouch/jqt/back_button_clicked.png +0 -0
  41. data/templates/jqtouch/jqtouch/jqt/button.png +0 -0
  42. data/templates/jqtouch/jqtouch/jqt/button_clicked.png +0 -0
  43. data/templates/jqtouch/jqtouch/jqt/chevron.png +0 -0
  44. data/templates/jqtouch/jqtouch/jqt/chevron_circle.png +0 -0
  45. data/templates/jqtouch/jqtouch/jqt/grayButton.png +0 -0
  46. data/templates/jqtouch/jqtouch/jqt/loading.gif +0 -0
  47. data/templates/jqtouch/jqtouch/jqt/on_off.png +0 -0
  48. data/templates/jqtouch/jqtouch/jqt/rowhead.png +0 -0
  49. data/templates/jqtouch/jqtouch/jqt/toggle.png +0 -0
  50. data/templates/jqtouch/jqtouch/jqt/toggleOn.png +0 -0
  51. data/templates/jqtouch/jqtouch/jqt/toolbar.png +0 -0
  52. data/templates/jqtouch/jqtouch/jqt/whiteButton.png +0 -0
  53. data/templates/jqtouch/jqtouch/jqt.sass +580 -0
  54. data/templates/jqtouch/jqtouch/jqtouch.sass +75 -0
  55. data/templates/jqtouch/jquery.jqtouch.js +1007 -0
  56. data/templates/jqtouch/jquery.jqtouch.min.js +1 -0
  57. data/templates/jqtouch/manifest.rb +43 -0
  58. data/templates/jrails/config/initializers/jrails.rb +2 -0
  59. data/templates/jrails/jquery.compat-1.3.js +288 -0
  60. data/templates/jrails/jquery.compat-1.3.min.js +1 -0
  61. data/templates/jrails/jquery.js +4483 -2570
  62. data/templates/jrails/jquery.min.js +12 -8
  63. data/templates/jrails/manifest.rb +2 -0
  64. metadata +49 -3
  65. data/templates/dynatree/jquery.ui/dynatree.vista/folder_open.png +0 -0
@@ -0,0 +1 @@
1
+ (function(a){a.jQTouch=function(e){a.support.WebKitCSSMatrix=(typeof WebKitCSSMatrix=="object");a.support.touch=(typeof Touch=="object");a.support.WebKitAnimationEvent=(typeof WebKitTransitionEvent=="object");var t,p=a("head"),j=[],i=0,l={},B,v,d,b=RegExp(" Mobile/").test(navigator.userAgent),f=true,u=0,D=[],r={},C=a.jQTouch.prototype.extensions,E=["slide","flip","slideup","swap","cube","pop","dissolve","fade","back"],n=[],h="";w(e);function w(I){var L={addGlossToIcon:true,backSelector:".back, .cancel, .goback",cacheGetRequests:true,cubeSelector:".cube",dissolveSelector:".dissolve",fadeSelector:".fade",fixedViewport:true,flipSelector:".flip",formSelector:"form",fullScreen:true,fullScreenClass:"fullscreen",icon:null,touchSelector:"a, .touch",popSelector:".pop",preloadImages:false,slideSelector:"body > * > ul li a",slideupSelector:".slideup",startupScreen:null,statusBar:"default",submitSelector:".submit",swapSelector:".swap",useAnimations:true,useFastTouch:true};l=a.extend({},L,I);if(l.preloadImages){for(var J=l.preloadImages.length-1;J>=0;J--){(new Image()).src=l.preloadImages[J]}}if(l.icon){var K=(l.addGlossToIcon)?"":"-precomposed";h+='<link rel="apple-touch-icon'+K+'" href="'+l.icon+'" />'}if(l.startupScreen){h+='<link rel="apple-touch-startup-image" href="'+l.startupScreen+'" />'}if(l.fixedViewport){h+='<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0;"/>'}if(l.fullScreen){h+='<meta name="apple-mobile-web-app-capable" content="yes" />';if(l.statusBar){h+='<meta name="apple-mobile-web-app-status-bar-style" content="'+l.statusBar+'" />'}}if(h){p.append(h)}a(document).ready(function(){for(var O in C){var P=C[O];if(a.isFunction(P)){a.extend(r,P(r))}}for(var O in E){var N=E[O];var M=l[N+"Selector"];if(typeof(M)=="string"){y({name:N,selector:M})}}D.push("input");D.push(l.touchSelector);D.push(l.backSelector);D.push(l.submitSelector);a(D.join(", ")).css("-webkit-touch-callout","none");a(l.backSelector).tap(m);a(l.submitSelector).tap(q);t=a("body");if(l.fullScreenClass&&window.navigator.standalone==true){t.addClass(l.fullScreenClass+" "+l.statusBar)}t.bind("touchstart",G).bind("orientationchange",z).trigger("orientationchange").submit(o);if(l.useFastTouch&&a.support.touch){t.click(function(R){var Q=a(R.target);if(Q.attr("target")=="_blank"||Q.attr("rel")=="external"||Q.is('input[type="checkbox"]')){return true}else{return false}});t.mousedown(function(Q){var R=(new Date()).getTime()-u;if(R<200){return false}})}if(a("body > .current").length==0){v=a("body > *:first")}else{v=a("body > .current:first");a("body > .current").removeClass("current")}a(v).addClass("current");location.hash=a(v).attr("id");s(v);scrollTo(0,0);A()})}function H(O){if(j.length>1){var N=Math.min(parseInt(O||1,10),j.length-1);if(isNaN(N)&&typeof(O)==="string"&&O!="#"){for(var I=1,K=j.length;I<K;I++){if("#"+j[I].id===O){N=I;break}}}if(isNaN(N)||N<1){N=1}var L=j[0].animation;var M=j[0].page;j.splice(0,N);var J=j[0].page;g(M,J,L,true);return r}else{console.error("No pages in history.");return false}}function F(J,K){var L=j[0].page;if(typeof(J)==="string"){J=a(J)}if(typeof(K)==="string"){for(var I=n.length-1;I>=0;I--){if(n[I].name===K){K=n[I];break}}}if(g(L,J,K)){s(J,K);return r}else{console.error("Could not animate pages.");return false}}function k(){return d}function m(N){var J=a(N.target);if(J.attr("nodeName")!=="A"){J=J.parent("a")}var M=J.attr("target"),L=J.attr("hash"),K=null;if(f==false||!J.length){console.warn("Not able to tap element.");return false}if(J.attr("target")=="_blank"||J.attr("rel")=="external"){return true}for(var I=n.length-1;I>=0;I--){if(J.is(n[I].selector)){K=n[I];break}}if(M=="_webapp"){window.location=J.attr("href")}else{if(J.is(l.backSelector)){H(L)}else{if(L&&L!="#"){J.addClass("active");F(a(L).data("referrer",J),K)}else{J.addClass("loading active");x(J.attr("href"),{animation:K,callback:function(){J.removeClass("loading");setTimeout(a.fn.unselect,250,J)},$referrer:J})}}}return false}function s(K,J){var I=K.attr("id");j.unshift({page:K,animation:J,id:I})}function g(L,J,K,I){if(J.length===0){a.fn.unselect();console.error("Target element is missing.");return false}a(":focus").blur();scrollTo(0,0);var M=function(O){if(K){J.removeClass("in reverse "+K.name);L.removeClass("current out reverse "+K.name)}else{L.removeClass("current")}J.trigger("pageAnimationEnd",{direction:"in"});L.trigger("pageAnimationEnd",{direction:"out"});clearInterval(dumbLoop);v=J;location.hash=v.attr("id");A();var N=J.data("referrer");if(N){N.unselect()}u=(new Date()).getTime();f=true};L.trigger("pageAnimationStart",{direction:"out"});J.trigger("pageAnimationStart",{direction:"in"});if(a.support.WebKitAnimationEvent&&K&&l.useAnimations){J.one("webkitAnimationEnd",M);f=false;J.addClass(K.name+" in current "+(I?" reverse":""));L.addClass(K.name+" out"+(I?" reverse":""))}else{J.addClass("current");M()}return true}function A(){dumbLoop=setInterval(function(){var I=v.attr("id");if(location.hash==""){location.hash="#"+I}else{if(location.hash!="#"+I){try{H(location.hash)}catch(J){console.error("Unknown hash change.")}}}},100)}function c(I,J){var K=null;a(I).each(function(M,N){var L=a(this);if(!L.attr("id")){L.attr("id","page-"+(++i))}L.appendTo(t);if(L.hasClass("current")||!K){K=L}});if(K!==null){F(K,J);return K}else{return false}}function x(I,J){var L={data:null,method:"GET",animation:null,callback:null,$referrer:null};var K=a.extend({},L,J);if(I!="#"){a.ajax({url:I,data:K.data,type:K.method,success:function(M,O){var N=c(M,K.animation);if(N){if(K.method=="GET"&&l.cacheGetRequests&&K.$referrer){K.$referrer.attr("href","#"+N.attr("id"))}if(K.callback){K.callback(true)}}},error:function(M){if(K.$referrer){K.$referrer.unselect()}if(K.callback){K.callback(false)}}})}else{if($referrer){$referrer.unselect()}}}function o(J,K){var I=(typeof(J)==="string")?a(J):a(J.target);if(I.length&&I.is(l.formSelector)&&I.attr("action")){x(I.attr("action"),{data:I.serialize(),method:I.attr("method")||"POST",animation:n[0]||null,callback:K});return false}return true}function q(J){var I=a(this).closest("form");if(I.length){evt=jQuery.Event("submit");evt.preventDefault();I.trigger(evt);return false}return true}function y(I){if(typeof(I.selector)=="string"&&typeof(I.name)=="string"){n.push(I);a(I.selector).tap(m);D.push(I.selector)}}function z(){d=window.innerWidth<window.innerHeight?"profile":"landscape";t.removeClass("profile landscape").addClass(d).trigger("turn",{orientation:d})}function G(Q){var U=a(Q.target);if(!a(Q.target).is(D.join(", "))){var R=a(Q.target).closest("a");if(R.length){U=R}else{return}}if(event){var I=null,O=event.changedTouches[0].clientX,N=event.changedTouches[0].clientY,J=(new Date).getTime(),M=0,K=0,P=0;U.bind("touchmove",L).bind("touchend",S);I=setTimeout(function(){U.makeActive()},100)}function L(X){T();var W=Math.abs(M);var V=Math.abs(K);if(W>V&&(W>35)&&P<1000){U.trigger("swipe",{direction:(M<0)?"left":"right"}).unbind("touchmove touchend")}else{if(V>1){U.removeClass("active")}}clearTimeout(I)}function S(){T();if(K===0&&M===0){U.makeActive();U.trigger("tap")}else{U.removeClass("active")}U.unbind("touchmove touchend");clearTimeout(I)}function T(){var V=event.changedTouches[0]||null;M=V.pageX-O;K=V.pageY-N;P=(new Date).getTime()-J}}a.fn.unselect=function(I){if(I){I.removeClass("active")}else{a(".active").removeClass("active")}};a.fn.makeActive=function(){return a(this).addClass("active")};a.fn.swipe=function(I){if(a.isFunction(I)){return this.each(function(J,K){a(K).bind("swipe",I)})}};a.fn.tap=function(J){if(a.isFunction(J)){var I=(l.useFastTouch&&a.support.touch)?"tap":"click";return a(this).live(I,J)}else{a(this).trigger("tap")}};r={getOrientation:k,goBack:H,goTo:F,addAnimation:y,submitForm:o};return r};a.jQTouch.prototype.extensions=[];a.jQTouch.addExtension=function(b){a.jQTouch.prototype.extensions.push(b)}})(jQuery);(function(a){a.fn.transition=function(c,b){return this.each(function(){var e=a(this);var h={speed:"300ms",callback:null,ease:"ease-in-out"};var g=a.extend({},h,b);if(g.speed===0){e.css(c);window.setTimeout(g.callback,0)}else{if(a.browser.safari){var f=[];for(var d in c){f.push(d)}e.css({webkitTransitionProperty:f.join(", "),webkitTransitionDuration:g.speed,webkitTransitionTimingFunction:g.ease});if(g.callback){e.one("webkitTransitionEnd",g.callback)}setTimeout(function(i){i.css(c)},0,e)}else{e.animate(c,g.speed,g.callback)}}})}})(jQuery);(function(a){if(a.jQTouch){a.jQTouch.addExtension(function b(e){var d=".toolbar h1";a(function(){a("body").bind("pageAnimationStart",function(i,g){if(g.direction==="in"){var f=a(d,a(i.target));var h=a(i.target).data("referrer");if(f.length&&h){f.html(h.text())}}})});function c(f){d=f}return{setTitleSelector:c}})}})(jQuery);(function(b){if(b.jQTouch){b.jQTouch.addExtension(function a(c){b.fn.makeFloaty=function(d){var f={align:"top",spacing:20,time:".3s"};var e=b.extend({},f,d);e.align=(e.align=="top")?"top":"bottom";return this.each(function(){var g=b(this);g.css({"-webkit-transition":"top "+e.time+" ease-in-out",display:"block","min-height":"0 !important"}).data("settings",e);b(document).bind("scroll",function(){if(g.data("floatyVisible")===true){g.scrollFloaty()}});g.scrollFloaty()})};b.fn.scrollFloaty=function(){return this.each(function(){var d=b(this);var f=d.data("settings");var e=b("html").attr("clientHeight");var g=window.pageYOffset+((f.align=="top")?f.spacing:e-f.spacing-d.get(0).offsetHeight);d.css("top",g).data("floatyVisible",true)})};b.fn.hideFloaty=function(){return this.each(function(){var d=b(this);var e=d.get(0).offsetHeight;d.css("top",-e-10).data("floatyVisible",false)})};b.fn.toggleFloaty=function(){return this.each(function(){var d=b(this);if(d.data("floatyVisible")===true){d.hideFloaty()}else{d.scrollFloaty()}})}})}})(jQuery);(function(b){if(b.jQTouch){b.jQTouch.addExtension(function a(){var i,f,h;function d(){return navigator.geolocation}function g(j){if(d()){h=j;navigator.geolocation.getCurrentPosition(c);return true}else{console.log("Device not capable of geo-location.");j(false);return false}}function c(j){i=j.coords.latitude;f=j.coords.longitude;if(h){h(e())}}function e(){if(i&&f){return{latitude:i,longitude:f}}else{console.log("No location available. Try calling updateLocation() first.");return false}}return{updateLocation:g,getLocation:e}})}})(jQuery);(function(b){if(b.jQTouch){b.jQTouch.addExtension(function a(){var c=[];c[0]="uncached";c[1]="idle";c[2]="checking";c[3]="downloading";c[4]="updateready";c[5]="obsolete";var d=window.applicationCache;d.addEventListener("cached",f,false);d.addEventListener("checking",f,false);d.addEventListener("downloading",f,false);d.addEventListener("error",f,false);d.addEventListener("noupdate",f,false);d.addEventListener("obsolete",f,false);d.addEventListener("progress",f,false);d.addEventListener("updateready",f,false);function f(m){var j,i,k,l;j=(h())?"yes":"no";i=c[d.status];k=m.type;l="online: "+j;l+=", event: "+k;l+=", status: "+i;if(k=="error"&&navigator.onLine){l+=" There was an unknown error, check your Cache Manifest."}console.log(l)}function h(){return navigator.onLine}if(!b("html").attr("manifest")){console.log("No Cache Manifest listed on the <html> tag.")}d.addEventListener("updateready",function(i){if(c[d.status]!="idle"){d.swapCache();console.log("Swapped/updated the Cache Manifest.")}},false);function e(){d.update()}function g(){setInterval(function(){d.update()},10000)}return{isOnline:h,checkForUpdates:e,autoCheckForUpdates:g}})}})(jQuery);
@@ -0,0 +1,43 @@
1
+ # Generated by compass-jquery-plugin/gem-tasks/jqtouch.rake
2
+ # Install with: compass -f jquery -p jqtouch
3
+
4
+ file 'config/initializers/jqtouch.rb'
5
+ javascript 'jquery.jqtouch.js'
6
+ javascript 'jquery.jqtouch.min.js'
7
+ stylesheet 'jqtouch/iphone-emulator.sass'
8
+ stylesheet 'jqtouch/jqtouch.sass'
9
+ image 'jqtouch/iphone_fullsize.png'
10
+ image 'jqtouch/icons/iphone_16x16.png'
11
+ stylesheet 'jqtouch/apple.sass', :media => 'screen, projection'
12
+ image 'jqtouch/apple/backButton.png'
13
+ image 'jqtouch/apple/blueButton.png'
14
+ image 'jqtouch/apple/cancel.png'
15
+ image 'jqtouch/apple/chevron.png'
16
+ image 'jqtouch/apple/grayButton.png'
17
+ image 'jqtouch/apple/listArrowSel.png'
18
+ image 'jqtouch/apple/listGroup.png'
19
+ image 'jqtouch/apple/loading.gif'
20
+ image 'jqtouch/apple/on_off.png'
21
+ image 'jqtouch/apple/pinstripes.png'
22
+ image 'jqtouch/apple/selection.png'
23
+ image 'jqtouch/apple/thumb.png'
24
+ image 'jqtouch/apple/toggle.png'
25
+ image 'jqtouch/apple/toggleOn.png'
26
+ image 'jqtouch/apple/toolbar.png'
27
+ image 'jqtouch/apple/toolButton.png'
28
+ image 'jqtouch/apple/whiteButton.png'
29
+ stylesheet 'jqtouch/jqt.sass', :media => 'screen, projection'
30
+ image 'jqtouch/jqt/back_button.png'
31
+ image 'jqtouch/jqt/back_button_clicked.png'
32
+ image 'jqtouch/jqt/button.png'
33
+ image 'jqtouch/jqt/button_clicked.png'
34
+ image 'jqtouch/jqt/chevron.png'
35
+ image 'jqtouch/jqt/chevron_circle.png'
36
+ image 'jqtouch/jqt/grayButton.png'
37
+ image 'jqtouch/jqt/loading.gif'
38
+ image 'jqtouch/jqt/on_off.png'
39
+ image 'jqtouch/jqt/rowhead.png'
40
+ image 'jqtouch/jqt/toggle.png'
41
+ image 'jqtouch/jqt/toggleOn.png'
42
+ image 'jqtouch/jqt/toolbar.png'
43
+ image 'jqtouch/jqt/whiteButton.png'
@@ -18,6 +18,8 @@ ActionView::Helpers::AssetTagHelper::JAVASCRIPT_DEFAULT_SOURCES = ['jquery.min',
18
18
  ActionView::Helpers::AssetTagHelper::reset_javascript_include_default
19
19
 
20
20
  ActionView::Helpers::AssetTagHelper.register_javascript_expansion :jquery => ['jquery.min', 'jquery-ui.min']
21
+ ActionView::Helpers::AssetTagHelper.register_javascript_expansion :jquery_compat => ['jquery.min', 'jquery.compat-1.3.min', 'jquery-ui.min']
22
+ ActionView::Helpers::AssetTagHelper.register_javascript_expansion :defaults_compat => ['jquery.min', 'jquery.compat-1.3.min', 'jquery-ui.min', 'jrails.min']
21
23
 
22
24
  #ActionView::Helpers::AssetTagHelper.register_stylesheet_expansion :jrails => ['compiled/jquery.ui/ui.theme.css']
23
25
  #ActionView::Helpers::AssetTagHelper.register_stylesheet_expansion :jquery => ['compiled/jquery.ui/ui.theme.css']
@@ -0,0 +1,288 @@
1
+ /*
2
+ * Compatibility Plugin for jQuery 1.3 (on top of jQuery 1.4)
3
+ * All code copied from jQuery 1.4
4
+ * By John Resig
5
+ * Dual licensed under MIT and GPL.
6
+ */
7
+
8
+ (function(jQuery) {
9
+
10
+ // .add() is no longer equivalent to .concat()
11
+ // Results are now returned in document order
12
+ jQuery.fn.add = function( selector, context ) {
13
+ var set = typeof selector === "string" ?
14
+ jQuery( selector, context || this.context ) :
15
+ jQuery.makeArray( selector );
16
+
17
+ return this.pushStack( jQuery.merge( this.get(), set ) );
18
+ };
19
+
20
+ // clone( true ) now copies over all data in addition to
21
+ // the events
22
+ jQuery.fn.clone = function( events ) {
23
+ // Do the clone
24
+ var ret = this.map(function() {
25
+ if ( !jQuery.support.noCloneEvent && !jQuery.isXMLDoc(this) ) {
26
+ // IE copies events bound via attachEvent when
27
+ // using cloneNode. Calling detachEvent on the
28
+ // clone will also remove the events from the orignal
29
+ // In order to get around this, we use innerHTML.
30
+ // Unfortunately, this means some modifications to
31
+ // attributes in IE that are actually only stored
32
+ // as properties will not be copied (such as the
33
+ // the name attribute on an input).
34
+ var html = this.outerHTML, ownerDocument = this.ownerDocument;
35
+ if ( !html ) {
36
+ var div = ownerDocument.createElement("div");
37
+ div.appendChild( this.cloneNode(true) );
38
+ html = div.innerHTML;
39
+ }
40
+
41
+ return jQuery.clean([html.replace(/ jQuery\d+="(?:\d+|null)"/g, "")
42
+ .replace(/^\s+/, "")], ownerDocument)[0];
43
+ } else {
44
+ return this.cloneNode(true);
45
+ }
46
+ });
47
+
48
+ // Copy the events from the original to the clone
49
+ if ( events === true ) {
50
+ cloneCopyEvent( this, ret );
51
+ cloneCopyEvent( this.find("*"), ret.find("*") );
52
+ }
53
+
54
+ // Return the cloned set
55
+ return ret;
56
+ };
57
+
58
+ function cloneCopyEvent(orig, ret) {
59
+ var i = 0;
60
+
61
+ ret.each(function() {
62
+ if ( this.nodeName !== (orig[i] && orig[i].nodeName) ) {
63
+ return;
64
+ }
65
+
66
+ var oldData = jQuery.data( orig[i++] ), events = oldData && oldData.events;
67
+
68
+ if ( events ) {
69
+ for ( var type in events ) {
70
+ for ( var handler in events[ type ] ) {
71
+ jQuery.event.add( this, type, events[ type ][ handler ], events[ type ][ handler ].data );
72
+ }
73
+ }
74
+ }
75
+ });
76
+ }
77
+
78
+ // jQuery.data(elem) no longer returns an ID,
79
+ // returns the data object instead.
80
+ jQuery.data = function( elem, name, data ) {
81
+ if ( elem.nodeName && jQuery.noData[elem.nodeName.toLowerCase()] ) {
82
+ return;
83
+ }
84
+
85
+ elem = elem == window ?
86
+ windowData :
87
+ elem;
88
+
89
+ var id = elem[ jQuery.expando ], cache = jQuery.cache, thisCache;
90
+
91
+ // Handle the case where there's no name immediately
92
+ if ( !name && !id ) {
93
+ return null;
94
+ }
95
+
96
+ // Compute a unique ID for the element
97
+ if ( !id ) {
98
+ id = ++jQuery.uuid;
99
+ }
100
+
101
+ // Avoid generating a new cache unless none exists and we
102
+ // want to manipulate it.
103
+ if ( typeof name === "object" ) {
104
+ elem[ jQuery.expando ] = id;
105
+ thisCache = cache[ id ] = jQuery.extend(true, {}, name);
106
+ } else if ( cache[ id ] ) {
107
+ thisCache = cache[ id ];
108
+ } else if ( typeof data === "undefined" ) {
109
+ thisCache = {};
110
+ } else {
111
+ thisCache = cache[ id ] = {};
112
+ }
113
+
114
+ // Prevent overriding the named cache with undefined values
115
+ if ( data !== undefined ) {
116
+ elem[ jQuery.expando ] = id;
117
+ thisCache[ name ] = data;
118
+ }
119
+
120
+ return typeof name === "string" ? thisCache[ name ] : id;
121
+ };
122
+
123
+ // jQuery() now returns an empty jQuery set, not jQuery(document)
124
+
125
+ var oldinit = jQuery.fn.init;
126
+
127
+ jQuery.fn.init = function( selector ) {
128
+ if ( selector === undefined ) {
129
+ return jQuery( document );
130
+ }
131
+
132
+ oldinit.apply( this, arguments );
133
+ return this;
134
+ };
135
+
136
+ jQuery.fn.init.prototype = oldinit.prototype;
137
+
138
+ // .val("...") on radio and checkbox elements was amgiuous,
139
+ // it only selects on value now (which is much less ambiguous)
140
+ var oldval = jQuery.fn.val;
141
+
142
+ jQuery.fn.val = function( val ) {
143
+ if ( val !== undefined ) {
144
+ return this.each(function(i) {
145
+ var self = jQuery(this), val = value;
146
+
147
+ if ( this.nodeType !== 1 ) {
148
+ return;
149
+ }
150
+
151
+ if ( isFunction ) {
152
+ val = value.call(this, i, self.val());
153
+ }
154
+
155
+ // Typecast each time if the value is a Function and the appended
156
+ // value is therefore different each time.
157
+ if ( typeof val === "number" ) {
158
+ val += "";
159
+ }
160
+
161
+ if ( jQuery.isArray(val) && rradiocheck.test( this.type ) ) {
162
+ this.checked = jQuery.inArray( self.val(), val ) >= 0 ||
163
+ jQuery.inArray(this.name, value) >= 0;
164
+
165
+ } else if ( jQuery.nodeName( this, "select" ) ) {
166
+ var values = jQuery.makeArray(val);
167
+
168
+ jQuery( "option", this ).each(function() {
169
+ this.selected = jQuery.inArray( jQuery(this).val(), values ) >= 0 ||
170
+ jQuery.inArray( this.text, values ) >= 0;
171
+ });
172
+
173
+ if ( !values.length ) {
174
+ this.selectedIndex = -1;
175
+ }
176
+
177
+ } else {
178
+ this.value = val;
179
+ }
180
+ });
181
+ }
182
+
183
+ return oldval.apply( this, arguments );
184
+ };
185
+
186
+ // jQuery.browser.version now exclusively matches based upon the rendering engine
187
+ jQuery.browser.version = (navigator.userAgent.toLowerCase().match( /.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [0,'0'])[1];
188
+
189
+ // jQuery.ajax() is now strict about JSON input (must follow the spec)
190
+ // Also, it auto-executes scripts that have no dataType and have a content-type of "text/javascript"
191
+ jQuery.httpData = function( xhr, type, s ) {
192
+ var ct = xhr.getResponseHeader("content-type") || "",
193
+ xml = type === "xml" || !type && ct.indexOf("xml") >= 0,
194
+ data = xml ? xhr.responseXML : xhr.responseText;
195
+
196
+ if ( xml && data.documentElement.nodeName === "parsererror" ) {
197
+ throw "parsererror";
198
+ }
199
+
200
+ // Allow a pre-filtering function to sanitize the response
201
+ // s is checked to keep backwards compatibility
202
+ if ( s && s.dataFilter ) {
203
+ data = s.dataFilter( data, type );
204
+ }
205
+
206
+ // The filter can actually parse the response
207
+ if ( typeof data === "string" ) {
208
+ // Get the JavaScript object, if JSON is used.
209
+ if ( type === "json" || !type && ct.indexOf("json") >= 0 ) {
210
+ data = (new Function("return " + data))();
211
+ }
212
+ }
213
+
214
+ return data;
215
+ };
216
+
217
+ // Ajax data is now serialized in the PHP/Rails style be default
218
+ jQuery.ajaxSettings.traditional = true;
219
+
220
+ // The internal jQuery.className structure has been removed in
221
+ // favor of the traditional jQuery methods
222
+ jQuery.className = {
223
+ add: function ( elem, classNames ) {
224
+ jQuery( elem ).addClass( classNames );
225
+ },
226
+ remove: function( elem, classNames ) {
227
+ jQuery( elem ).removeClass( classNames );
228
+ },
229
+ has: function( elem, className ) {
230
+ jQuery( elem ).hasClass( className );
231
+ }
232
+ };
233
+
234
+ // jQuery.extend( true, ... ) only works on plain objects and arrays now
235
+ jQuery.extend = jQuery.fn.extend = function() {
236
+ // copy reference to target object
237
+ var target = arguments[0] || {}, i = 1, length = arguments.length, deep = false, options, name, src, copy;
238
+
239
+ // Handle a deep copy situation
240
+ if ( typeof target === "boolean" ) {
241
+ deep = target;
242
+ target = arguments[1] || {};
243
+ // skip the boolean and the target
244
+ i = 2;
245
+ }
246
+
247
+ // Handle case when target is a string or something (possible in deep copy)
248
+ if ( typeof target !== "object" && !jQuery.isFunction(target) ) {
249
+ target = {};
250
+ }
251
+
252
+ // extend jQuery itself if only one argument is passed
253
+ if ( length === i ) {
254
+ target = this;
255
+ --i;
256
+ }
257
+
258
+ for ( ; i < length; i++ ) {
259
+ // Only deal with non-null/undefined values
260
+ if ( (options = arguments[ i ]) != null ) {
261
+ // Extend the base object
262
+ for ( name in options ) {
263
+ src = target[ name ];
264
+ copy = options[ name ];
265
+
266
+ // Prevent never-ending loop
267
+ if ( target === copy ) {
268
+ continue;
269
+ }
270
+
271
+ // Recurse if we're merging object literal values or arrays
272
+ if ( deep && copy && typeof copy === "object" && !copy.nodeType ) {
273
+ target[ name ] = jQuery.extend( deep,
274
+ // Never move original objects, clone them
275
+ src || ( copy.length != null ? [ ] : { } ), copy );
276
+
277
+ // Don't bring in undefined values
278
+ } else if ( copy !== undefined ) {
279
+ target[ name ] = copy;
280
+ }
281
+ }
282
+ }
283
+ }
284
+
285
+ // Return the modified object
286
+ return target;
287
+ };
288
+ })(jQuery);
@@ -0,0 +1 @@
1
+ (function(d){d.fn.add=function(e,f){var g=typeof e==="string"?d(e,f||this.context):d.makeArray(e);return this.pushStack(d.merge(this.get(),g))};d.fn.clone=function(f){var e=this.map(function(){if(!d.support.noCloneEvent&&!d.isXMLDoc(this)){var h=this.outerHTML,g=this.ownerDocument;if(!h){var i=g.createElement("div");i.appendChild(this.cloneNode(true));h=i.innerHTML}return d.clean([h.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s+/,"")],g)[0]}else{return this.cloneNode(true)}});if(f===true){a(this,e);a(this.find("*"),e.find("*"))}return e};function a(g,e){var f=0;e.each(function(){if(this.nodeName!==(g[f]&&g[f].nodeName)){return}var k=d.data(g[f++]),h=k&&k.events;if(h){for(var j in h){for(var i in h[j]){d.event.add(this,j,h[j][i],h[j][i].data)}}}})}d.data=function(g,f,i){if(g.nodeName&&d.noData[g.nodeName.toLowerCase()]){return}g=g==window?windowData:g;var j=g[d.expando],e=d.cache,h;if(!f&&!j){return null}if(!j){j=++d.uuid}if(typeof f==="object"){g[d.expando]=j;h=e[j]=d.extend(true,{},f)}else{if(e[j]){h=e[j]}else{if(typeof i==="undefined"){h={}}else{h=e[j]={}}}}if(i!==undefined){g[d.expando]=j;h[f]=i}return typeof f==="string"?h[f]:j};var b=d.fn.init;d.fn.init=function(e){if(e===undefined){return d(document)}b.apply(this,arguments);return this};d.fn.init.prototype=b.prototype;var c=d.fn.val;d.fn.val=function(e){if(e!==undefined){return this.each(function(h){var g=d(this),j=value;if(this.nodeType!==1){return}if(isFunction){j=value.call(this,h,g.val())}if(typeof j==="number"){j+=""}if(d.isArray(j)&&rradiocheck.test(this.type)){this.checked=d.inArray(g.val(),j)>=0||d.inArray(this.name,value)>=0}else{if(d.nodeName(this,"select")){var f=d.makeArray(j);d("option",this).each(function(){this.selected=d.inArray(d(this).val(),f)>=0||d.inArray(this.text,f)>=0});if(!f.length){this.selectedIndex=-1}}else{this.value=j}}})}return c.apply(this,arguments)};d.browser.version=(navigator.userAgent.toLowerCase().match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,"0"])[1];d.httpData=function(j,h,g){var f=j.getResponseHeader("content-type")||"",e=h==="xml"||!h&&f.indexOf("xml")>=0,i=e?j.responseXML:j.responseText;if(e&&i.documentElement.nodeName==="parsererror"){throw"parsererror"}if(g&&g.dataFilter){i=g.dataFilter(i,h)}if(typeof i==="string"){if(h==="json"||!h&&f.indexOf("json")>=0){i=(new Function("return "+i))()}}return i};d.ajaxSettings.traditional=true;d.className={add:function(e,f){d(e).addClass(f)},remove:function(e,f){d(e).removeClass(f)},has:function(f,e){d(f).hasClass(e)}};d.extend=d.fn.extend=function(){var k=arguments[0]||{},h=1,j=arguments.length,e=false,g,f,l,m;if(typeof k==="boolean"){e=k;k=arguments[1]||{};h=2}if(typeof k!=="object"&&!d.isFunction(k)){k={}}if(j===h){k=this;--h}for(;h<j;h++){if((g=arguments[h])!=null){for(f in g){l=k[f];m=g[f];if(k===m){continue}if(e&&m&&typeof m==="object"&&!m.nodeType){k[f]=d.extend(e,l||(m.length!=null?[]:{}),m)}else{if(m!==undefined){k[f]=m}}}}}return k}})(jQuery);