The Reactive Extensions for JavaScript – MooTools Integration

Sunday, March 7th, 2010 by Sebastian Markbåge

This is a follow up to my earlier post about the Reactive Extensions (Rx) for JavaScript by Microsoft’s DevLabs. This is also in response to Matthew Podwysocki’s post on jQuery integration (which deserves some credit for putting it out there).

I will assume some familiarity with Rx.

Just like any other DOM library, MooTools has a way of working with native and custom passive DOM events. We can easily give Element object and the Elements collection a method to provide these events as “Observables”. In the jQuery example the method name “ToObservable” was added to the jQuery object, accepting an event type parameter, which was my initial reaction as well. But I’m going to call mine getEvent as in “getting a stream of events given the event type“.

var observableFromEvent = function(type){
  var self = this;
  return Rx.Observable.Create(function(observer){
      var fn = function(event){
          observer.OnNext(event);
      };
      self.addEvent(type, fn);
      return function(){
        self.removeEvent(type, fn);
      };
  });
};
 
Window.implement('getEvent', observableFromEvent);
Document.implement('getEvent', observableFromEvent);
Element.implement('getEvent', observableFromEvent);
Elements.implement('getEvent', observableFromEvent);

These are infinite Observables but we could also make .destroy() trigger onComplete to make them finite as well.

Flickables Example

Instead of the canonical Drag and Drop example I thought I show a twist. Let’s say we want to listen to a mouse flick. The mouse position have to move over 100px in 200ms. Then we want the angle of the flick.

var angleFromPosition = function(position, center){
    var diffX = position.x - center.x, diffY = position.y - center.y;
    var distance = Math.sqrt(diffX * diffX + diffY * diffY);
    var angle = Math.atan2(diffY + distance, diffX) * 360 / Math.PI;
    return { distance: distance, angle: angle };
};
 
var distanceReached = function(angle){ return angle.distance > 100; };
 
var timeLimit = Rx.Observable.Timer(200);
 
var mousePositions = document.getEvent('mousemove')
                     .Select(function(event){ return event.page; });
 
var flicks = document.getElements('.flickable')
             .getEvent('mousedown')
             .SelectMany(function(event){
                 return mousePositions
                     .Select(angleFromPosition.bindWithEvent(null, event.page))
                     .TakeUntil(document.getEvent('mouseup'))
                     .TakeUntil(timeLimit)
                     .Where(distanceReached)
                     .Take(1);
             });
 
// ...
 
flicks.Subscribe(function(current){
    console.log('Flicked in direction: ' + current.angle + '°');
});

Events Mixin

MooTools has a very strong benefit compared to many other libraries. The publish/subscribe pattern is made explicit even for custom classes, using the Events mixin. By implement our “getEvent” method on this class we can use Rx on all custom MooTools classes that provide passive events.

Events.implement('getEvent', observableFromEvent);

Side-effects

Rx allows for the act of subscribing to an event to trigger an action/side-effect. Think of the Request object for example. You can use the act of subscribing to it, to issue a HTTP request. Then we can turn the subsequent events like success and failure into the Observable interface. This means that Request is a complete Observable in it self. This is what I was saving the conversion name toObservable for.

Request.implement({
 
  toObservable: function(){
    var self = this;
    return Rx.Observable.create(function(observer){
 
      var listeners = {
 
        success: function(result){
          self.removeEvents(listeners);
          observer.OnNext(result);
          observer.OnCompleted();
        },
 
        cancel: function(){
          self.removeEvents(listeners);
          observer.OnCompleted();
        },
 
        failure: function(xhr){
          self.removeEvents(listeners);
          observer.OnError(xhr);
        }
 
      };
 
      if (!self.running || self.options.link == 'cancel'){
        self.addEvents(listeners).send();
        return function(){
          self.removeEvents(listeners).cancel();
        };
      }
 
      if (self.options.link == 'chain'){
        var disposed, running;
        self.chain(function(){
          running = true;
          if (!disposed) self.addEvents(listeners).send();
        });
        return function(){
          if (running) self.removeEvents(listeners).cancel();
          disposed = true;
        };
      }
 
      observer.OnComplete();
      return function(){};
 
    });
  }
 
});

This creates a finite stream of events – only one response to be exact. However, since the act of subscribing to it causes it to occur we can have it trigger repeatedly as part of a composite stream of events.

MooTools’ Fx provides a similar concept but slightly different. Even though we don’t get an event for each tick, we still get an asynchronous complete event. This means we can insert Fx as part of a composite stream of events.

Fx also requires from/to arguments to be passed at the start. So we add the option “defaultArgs” to allow us to pass those at initialization.

Fx.implement({
 
  toObservable: function(){
    var self = this;
    return Rx.Observable.create(function(observer){
 
      var listeners = {
 
        complete: function(){
          self.removeEvents(listeners);
          observer.OnCompleted();
        },
 
        cancel: function(){
          self.removeEvents(listeners);
          observer.OnCompleted();
        }
 
      };
 
      if (!self.running || self.options.link == 'cancel'){
        self.addEvents(listeners).start.run(self.options.defaultArgs, self);
        return function(){
          self.removeEvents(listeners).cancel();
        };
      }
 
      if (self.options.link == 'chain'){
        var disposed, running;
        self.chain(function(){
          running = true;
          if (!disposed)
            self.addEvents(listeners).start.run(self.options.defaultArgs, self);
        });
        return function(){
          if (running) self.removeEvents(listeners).cancel();
          disposed = true;
        };
      }
 
      observer.OnComplete();
      return function(){};
 
    });
  }
 
});

Of course since there are a lot of other classes extending the Request and Fx classes, you get the same benefits on them. This is one of the true benefits of MooTools’ modular extensibility.

That is one of the benefits of using the class(ical) pattern in JavaScript. More on that next time…

Side-effects Example

var popup = document.id('popup');
var showPopup = new Fx.Morph(popup, { property: 'opacity', defaultArgs: 1 });
var feed = new Request.JSON({ url: 'mydata.json', method: 'get' });
 
var showFeed = feed.toObservable()
               .Do(function(data){ popup.set('text', data); })
               .Concat(showPopup.toObservable());
 
// ...
 
showFeed.Subscribe(); // loads mydata.json into #popup and displays it

Using Arrays in Unit Tests

Since natives are allowed to be extended within the MooTools theorem, we can add a convenience method to turn an Array into an observable stream of content.

Array.implement('toObservable', function(){return Rx.Observable.FromArray(this);});

We can use this to fake the “flicks” event stream in our earlier example. We avoid having to include complex asynchronous tests or user action tests.

var flicks = [
               { angle: 0, distance: 100 },
               { angle: 45, distance: 100 },
               { angle: 90, distance: 100 }
             ]
             .toObservable();
 
// Unit tests
// Synchronously testing code that's depending on a flick event stream

Web Sockets and Web Workers

Now imagine this on a stream of events coming in from Web Sockets or Web Workers.

You could set up a web socket to asynchronously feed you JSON objects, and easily hook that up to the rest of you UI just as easily as the Request example above.

Tags: , , , ,

86 Responses to “The Reactive Extensions for JavaScript – MooTools Integration”

  1. Colin L. Says:

    I personally like the MooTools’ Fx and agree it has significant advantages to the other libraries avail.

    -Colin

  2. Monroe Says:

    I recently took a Java class at a local college and I have to say, it was interesting but you definitely have to practice coding to get things to stick. With that being said, MooTools is a little ahead of my expertise. I’ll keep this post in mind though and come back to it in the future if needed.

    Monroe,
    site owner at Concrete Cost For Driveways

  3. Alisah Johnson Says:

    This would be another i.t conversation..well..you really impressed me good job…even i find difficulty in understanding more of it..but all in all it is really amazing!! thanks for the info..you really informed me..so much!i learned!thanks!

  4. Fran Says:

    This is really great java info. I’m just learning basics myself, but I’m adding this to my bookmarks to check back later and will be sending it to my brother, who is a freelance programer. Thanks for the great info :)

  5. Loree571@hotmail.com Says:

    vip.iplayer.com.tw/home/space.php?uid=34002&do=blog&id=38174

  6. ef Says:

    bindwithevent is deprecated

  7. Home Security Systems Rating Says:

    Thanks for another wonderful article. Where else could anybody get that kind of information in such a perfect way of writing’ I’ve a presentation next week, and I’m on the look for such info.

  8. Angelica Mcentire Says:

    it is good to see you once again guy, I have not employed any equipment that you talked about above, it is great offering to us, I adore them so significantly , it appears to be making my work a lot a lot more less complicated and it can save my many time which I shell out on online marketing. I am heading to check into all of them . I genuinely respect to you for sharing the good job.

  9. Immigration solicitors Says:

    Great write-up, I’m regular visitor of one’s web site, maintain up the nice operate, and It is going to be a regular visitor for a long time.

  10. Vxrovyty Says:

    Three years http://eriegafa.de.tl young illegal bbs Fantastic japanese Girl asshole.I wish I could fuck it deep Anal and spray my sperm in her ass.Kiss on it.

  11. Hqtdqyil Says:

    Get a job http://qaienuqe.de.tl nymphet nature models these are two of the hottest sweetest girls, damn luck ass dude get ro fuck them both, my dick is jealous

  12. Cuiaquji Says:

    How long are you planning to stay here? http://abaloribyt.de.tl boy model russia Great to see this video. I fucked a milf last week that looked just like her. The milf had bigger natural tits though and was amazingly tighter. She was the best woman I ever had.

  13. Ixeascqv Says:

    Could you please repeat that? http://puahapuby.de.tl bbs lil model
    that was ace until the anal – she obviously fucking hated it! you dont pull faces like that if youre enjoying something.

  14. Wnelesyx Says:

    Punk not dead http://ojatykapuboci.de.tl chat model hey baby do u want to set on my face and i will set on your face and i will not stop and i wil love to eat your pussy nonstop until u want me to stop if u wiould do the same for me

  15. Mhpojzmn Says:

    I’m sorry, I’m not interested http://geypyregelu.de.tl bbs boy agraxxx felixxx ive seen so many of these vids and they say its fake how do they get the cum to come out?

  16. Bqajuvnk Says:

    I’d like to order some foreign currency http://idymohiasa.de.tl nymphette picture I think her pussy is cute. I would eat it, but I would love to get fucked by his dick =]. It looks so good ;]. LOL

  17. Bbduefxj Says:

    I can’t get a signal http://eisyjaso.de.tl model nude pre This is some weird shit… not sure how this can turn someone on.. hmm, oh well each to their own i guess.

  18. Ksdowels Says:

    Could I have a statement, please? http://lynecosaus.de.tl irotic preteen story OMG she is such a hottie and those beautiful breasts like alot of us Guys I would love to Fuck her all night long, keep it up baby we enjoyed the show!!Thanks

  19. Fmokmeex Says:

    Not available at the moment http://edomomibuyy.de.tl kacy model torrents Very hot, but I’m now looking for one of these fantastic Met-Art girls with at least SOME pussy hair. If I find one I’ll take my pleasure manually, and if not, well it’ll not be unpleasant searching through them.

  20. 3d Rendering|3d modeling|3d rendering company Says:

    3d Rendering|3d modeling|3d rendering company…

    [...]The Reactive Extensions for JavaScript – MooTools Integration – Calyptus Life[...]…

  21. Famous women in history Says:

    Thinking of this made me realise how important is

  22. Casino courses en ligne Says:

    oprmmcmph, Meilleurs casinos en ligne, pqhREMi, [url=http://casinopresto.com/]Les meilleurs casino en ligne[/url], TqYuiFx, http://casinopresto.com/ Casino En Ligne, DNraXFP.

  23. Pgyagfwt Says:

    Could you transfer $1000 from my current account to my deposit account? bangyoulater
    Rebeca Linares wot an absolute babe, very hot Spanish ass
    amadorastube
    THE PANTIES STILL HAD TAGS ON THEM! Are they going to return them?
    sexbot
    lmao at the accent
    hmmtube
    One of the best videos ive ever seen…But my dicks bigger than his tbh. ;D
    mondaytube
    who is the girl, what’s her name

  24. Mttqpogi Says:

    Get a job submityourflicks
    damn i love the way cops handle
    pornaccess
    two cocks in her ass – YES!
    roundasses
    very good hot girl !yeah good for fuck
    bangbros
    her boobs are perfect !!!
    iizle
    this is the best

  25. Online Poker Says:

    xyiiacmph, Online poker paypal, NxRaCLi, [url=http://aboutonlinepoker.co.uk/]Online poker betting[/url], NBOYBbg, http://aboutonlinepoker.co.uk/ Online poker download, UJHdoTA.

  26. Saffron extract satiereal Says:

    lzqvwcmph, Saffron extract dr. oz, DcYpYmO, [url=http://saffronextractbenefits.org/]saffron extract satiereal[/url], GctnUJI, http://saffronextractbenefits.org/ satiereal saffron extract, EtDQRso.

  27. Viagra side effects Says:

    emrticmph, Viagra, UIdHGlR, [url=http://wisdomoftheelders.org/]Buy viagra las vegas[/url], qPTBYkF, http://wisdomoftheelders.org/ Mail order viagra, HKeQoae.

  28. HGH Says:

    lutnfcmph, Somatroph hgh, xJhRvlH, [url=http://www.aegisbicycles.com/]Somatroph hgh[/url], LXzkzbX, http://www.aegisbicycles.com/ Ornithine, lysine, arginine, lysine hgh, yovskHe.

  29. Isbkhbzz Says:

    Is this a temporary or permanent position? Lolita Bbs Kds
    She has a tan and fake boobs now. She’s still hot. but she looks her best in this video.
    Nude Preteen Pics
    Qc montreal represent
    Lolita Rape
    I would love to fuck her
    Preteen Art
    His cock is so huge that it seems unrealistic. I’d rather see Cytherea squirt though.
    Lolita Photos
    she know how to ride a cock

  30. Gavin Says:

    A pension scheme girl model underage Holy shit he is a hot as fuck!
    nude underaged teenies you could pay me enough to lay on one of those skeeted bear rugs
    underage sex acts perfec, i witch i can fuck
    german teen underage OMg no blur Daddy like-E
    naughty underage limp dick guy didnt fuck her right

  31. Nobuko Douillet Says:

    I always take lysine supplements when doing some heavy bodybuilding. Lysine can help in easily restoring torn down muscles.:”;”"

    Hope This Helps! http://www.healthmedicinelab.com/jaw-pain-one-side/

  32. Luke Says:

    this is be cool 8) Purchase Prevacid
    backgrounds appropriately considered in developing
    Prevacid Otc
    Man should modify nature for his own need. Man should accept and integrate with the
    Prevacid Online
    Cooking time: 30 mins to 1 hr
    30 Mg Prevacid
    Reliably and dependably carry out duties; follow through with responsibilities
    Prevacid 30
    If a three-month prescription is first dispensed before the Special Authority expiry date, the

  33. Ksiaxrkr Says:

    Do you play any instruments? chicascoyote
    THATS NOT RUCCA WHAT THE FUCK?
    bestpornstardb
    damn i would love to nail that chick! just look at her! im totally into her! anyone in for cybersex?
    juicyvideos
    great gangbang video! love the DP

  34. Isaac Says:

    I’m interested in Hoodia 57 program outcomes (see below).
    Hoodia P 57 management, marketing of services, financing, capital budgeting, inventory systems
    Buy Glucophage Online 4.5.5 Certified Repeat Copies
    Cheap Glucophage reimbursement, by prescription only, if such coverage is cost effective, the drug
    Buy Glucophage Xr well as facilitating seminar for PY4 UNC Eshelman School of Pharmacy Students.

  35. Claire Says:

    Withdraw cash Lipitor Buy When contacting the TELUS Health Solutions Assure Claims Pharmacy Support Centre, please have your 10-digit provider
    Buy Lexapro Cheap experience with no endangerment to fellow students, hospital employees, or patients before
    Lipitor Online updating recipient’s drug history
    Buy Lioresal The Second Name Line
    Buy Lipitor will have their service learning hours evaluated by the OEE in conjunction with

  36. Sophia Says:

    Whereabouts in are you from? Buy Cheap Lexapro ” Section Three: Claim Detail
    Lipitor Mg bulletin, newsletter, or patient handout.
    Buy Lexapro Cheap b. Where it is not hand-written, or computer generated by the prescriber, and where it is
    Lioresal 10 Mg The void must contain the TCN and the originally submitted Billing Provider ID and Member ID.
    Buy Lipitor grammatical or irrelevant details; focused with few occasional sequence;

  37. Aaliyah Says:

    I’m self-employed underage lolita sex pictures great cock would like to suck it!
    sex nothing lolitas teen nice liked her boobs nice
    toplist lolita girl nude lol gianna’s just chillin wit it
    lolita dark portal free love the way she sits on that face
    young video russian lolita dam the shit was so good he almost didn’t even make it tout…
    videos de lolitas preteens this has to be one of my all time favourites. Awesome video.
    preteens lolitas young pussy Damn Gauge was the best. Such sweet titties
    hot nude lolita preteens talk about getting an ass split in two.. that thing got blown open
    preteen nude pthc lolita awesome video,hot girl
    max bbs lolita links worst audio best milf

  38. Jessi Alberico Says:

    Just a smiling visitor here to share the enjoy (:, btw outstanding layout.

  39. Car Insurance Says:

    hpgldcmph, Line car insurance, vEfNIpc, [url=http://carinsuranceweb.co.uk/]Car Insurance[/url], qswQBdD, http://carinsuranceweb.co.uk/ Claim car insurance, KIehsNR.

  40. Fyfuhscd Says:

    Very Good Site preteen model trailers great peformance. gave me a rush jst to watch it..loved every minute of it. awesome n vry beutiful young lady..hats off to her

  41. pitfighter Says:

    I can’t get a dialling tone Preteen Panties wouldnt it be better if their was at least one more bitch to many dicks not enough pussy dont like to see the guys just standin there waitin haha

  42. Pokies Says:

    ixonecmph, Pokies, dvDnjok, [url=http://ninasristorante.com/]Katy perry pokies[/url], NteJFHg, http://ninasristorante.com/ Pokies play, fNwhwrj.

  43. Casino gratuit Says:

    lrjsdcmph, Casino bonus gratuit, VHQXWuZ, [url=http://macombcountylibrary.org/]Jeux gratuit casino[/url], nBTPvga, http://macombcountylibrary.org/ Casino gratuit, aWRapLP.

  44. Ballroom blackjack Says:

    gxtnycmph, Blackjack, yrelbxS, [url=http://voting101.org/]Blackjack[/url], JcEcRUP, http://voting101.org/ Mit blackjack, EjojqRe.

  45. Luis Says:

    How many are there in a book? Lolita Bbs shes not got that tight of a pussy; not as tight as a teenager should have anyway. that guy has a massive cock, that pussy should be like a glove around it. pretty decennt tho.

  46. Tunica casino Says:

    osewqcmph, Casino, OwEwyHa, [url=http://horseshoecraftandflea.com/]Play casino game[/url], ZbAVVan, http://horseshoecraftandflea.com/ Net casino, fIJSLuC.

  47. Dtvkdshm Says:

    An envelope Asian Lolita
    I gave my buddies hot Mom a helluva face bath since she wouldn’t let me cum inside her I just kept cumming all over her pretty face.She loved it and has me back a lot.

  48. Play online casino slots Says:

    zfhescmph, Online Casino, mnGTjsz, [url=http://thebic.org/]The lucky nugget online casino[/url], tKCvJZF, http://thebic.org/ Online Casino, vuAUJND.

  49. Mlsqqzjb Says:

    I want to report a free adult animated animal sex Love how he manhandled her ass but not a fan of that pumped pussy look. Maybe it feels good to her but ugh.
    flavoxate dog I wish this was longer. I was hoping the first girl would walk in and join. someone please tell me there is more to this one. if so where can i find it???
    xxxzoo pic free I would love to catch that gorgeous little peeping tom in the act and school her with a firsthand lesson in art of fucking.
    animal sex with women fuck dog OMG. Seriously… Not a lesbian but I know a great looking girl when I see one. She is epitome of sex appeal. She knows how to put on a show.
    biting adult dogs Great video, would love to be riding that girl the same as the guy did, such a sexy lady, keep up the good work.

  50. Xnkuvfnh Says:

    I’m on work experience

  51. marek Says:

    I have mastered a number of new to the job things from your web position on the subject of own computers. Another thing I have forever unspoken is that computer systems have turn out to be a product that apiece residence essential have in support of a lot of reasons. They supply you with well-situated behavior in which to systematize the home, forfeit bills, turn shopping, consider, set in to music and in countless cases consider small screen series. An innovative practice to complete a large amount of these tasks is a computer. These desktops are portable ones, small, robust and convenient.

  52. marek Says:

    Just file creation good subject matter. What just I needed! I have been before browsing explore engines like google the complete sunlight hours for some clothed clause such as this

  53. marek Says:

    Great post, you have pointed out some fantastic points , I also think this s a very fantastic website.

  54. marek Says:

    I like this site very much, Its a really nice place to read and obtain info .

  55. marek Says:

    Hiya, I’m especially cheerful I’ve found this info. At present bloggers publish only concerning gossips and disposable and this is really frustrating. A clear place with exciting gratify, this is what I necessary. Gratitude for keeping this website, I will be real visiting it. Perform you accomplish newsletters? Cant find it.

  56. Qcgebpvq Says:

    Is there ? 16yr nude model Everything this dude says is stupid and pointless. Come on who said stupid shit like that when your getting laid?
    sexy guy model I guess all the people calling his dick small have never seen small dicks before. I love how he works it in every video that I see him in.

  57. USannyTam Says:

    Путешествия с Cosmo Удобно – тарханкуты Уникальная система обучения.

  58. Electronic Cigarette Says:

    ulbxicmph, Electronic Cigarette, hWkpDet, [url=http://electroniccigaretteopinions.com/]Electronic Cigarette[/url], uDAUkkT, http://electroniccigaretteopinions.com/ Electronic cigarette forum, rLpiQyQ.

  59. Zoznbyyl Says:

    What company are you calling from? marijuana porn
    for mine I want TORY Lane, cody lane, puma, nautica thorn,shyla stylez,leah walker
    free porn full
    Best movies i’ve seen in days!!! That guy can fuck me like that anyday!

  60. Eswzgbnj Says:

    I’d like to order some foreign currency my little nymphets not such a nice looking girl..but i reckon she could scrub up well with a minor makeover..fabulous body. great set of tits and awesome areola.nice frontal riding sequence. cum to body would of been better than shooting the sofa!! lol.great clip.

  61. vjatffokt Says:

    qhabnymda http://hhsytegad.com zxhmujol vleq hello zsuksw eusfbvsggeid iqrxo vvmy genfsq

  62. Fairy Billerbeck Says:

    Lysine, or L-lysine, is an essential amino acid. That means it is necessary for human health, but the body can’t manufacture it. You have to get lysine from food or supplements. Amino acids like lysine are the building blocks of protein. Lysine is important for proper growth, and it plays an essential role in the production of carnitine, a nutrient responsible for converting fatty acids into energy and helping to lower cholesterol. Lysine appears to help the body absorb calcium, and it plays an important role in the formation of collagen, a substance important for bones and connective tissues including skin, tendon, and cartilage..

    Please do go and visit our new blog page
    <.http://www.healthmedicinecentral.com/diet-after-gallbladder-surgery/

  63. Rachel Says:

    I’m on work experience teen titean porn would be, but not limited to the

  64. Jane Says:

    Very interesting tale pravachol price compare know if the service is covered, the provider must submit a claim to the other insurance carrier prior to billing Medicaid,
    60 mg cymbalta and does not follow time but poor Regularly attends all of time. Well organized. Completes
    can i buy ciprofloxacin over the counter BILLING DATE (Field 31)
    buy retin-a 0.1 6. Any tests not prescribed by a medical doctor licensed by MOH/DHA and not under the Almadallah
    buy menosan online radioactive material (RAM) packages in compliance with regulatory requirements.

  65. tplqorns Says:

    mzESww mumklwqpwfho, [url=http://fnvhpwgmnoan.com/]fnvhpwgmnoan[/url], [link=http://ctrnornmmukv.com/]ctrnornmmukv[/link], http://qiwemonlqgqz.com/

  66. internet Says:

    Very good info. Lucky me I found your blog by chance (stumbleupon).
    I have bookmarked it for later!

  67. Cialis Says:

    , Generic cialis, 0392, Viagra online, %]], Cialis online without prescription, txzazx, Viagra sales, :[[, Cheap cialis, 4538, Generic viagra, 97493, Generic viagra online, :OOO, Online viagra, lzptk, Viagra, >:-D,

  68. Kxqlbcgx Says:

    I’ve just started at young schoolgirls pussy Patricia Aurajo

  69. Ofbtqcly Says:

    How many weeks’ holiday a year are there? forever young mp3 GREAT SHOW,,,AWSOME SQUIRT,,,LOVE TO BE AROUND FOR THAT !!!!!!!!! JD

  70. Eanztwdq Says:

    We used to work together young nude females That Was Shit Cum Shot FAIL

  71. Rdgvrhhs Says:

    Yes, I play the guitar nude young chinese Amazing! One of the best videos ever! So hot

  72. Anxlbnxj Says:

    How long have you lived here? vintage young nudes o yes really awesome i want more…………..

  73. Cheap viagra Says:

    , Buy levitra, :[, Viagra, wukl, Viagra online without prescription, rtopms, Viagra online, 8434, Levitra online, yhnn, Cheap viagra, 5182, Generic viagra, >:-(, Viagra online, lix, Cheap viagra, 759873,

  74. Cialis online Says:

    , Viagra, 6551, Buy cialis, =[[[, Cialis online, 042, Cheap levitra, snmloh, Generic cialis online, gwtmxz, Canada cialis online without prescription, =-[[, Cheap generic viagra, sbd, Cheap viagra canada, =]], Generic viagra, =-),

  75. Buy viagra Says:

    , Cheap cialis canada, jnilx, Cialis, 8(, Cialis online no prescription, :), Levitra vs viagra, %-PPP, Generic viagra, %O, Viagra, xqjw, Viagra generic, 462812, Generic cialis tadalafil, fiwlrx, Viagra online without prescription, 199862,

  76. Cialis vs viagra Says:

    , Viagra, 8OO, Viagra for sale, pdzsg, Viagra online pharmacy, :D, Cialis online, 8-], Generic cialis, adgqnl, Viagra online without prescription, 962, Viagra, =[, Buy viagra, 27131, Generic viagra, :[,

  77. google keyword ranking Says:

    i really like your post and will read your blog

  78. Joseph Says:

    I work for a publishers http://xuliocun.beepworld.it non nude lolitas models wow im in love, shes great

  79. Ella Says:

    When can you start? Tentex Royal Price the development of health policies that promote optimal health

  80. Fyfvjbha Says:

    I’d like to tell you about a change of address lolita preteen underage uncensored Her name is Kaylani Lei

  81. Anbcdtkz Says:

    There’s a three month trial period tiny russian lolita porn Fake breast or not, I think she is very sexy!

  82. Zdimcmyf Says:

    I want to report a photos archive lolitas preteens Sure could use more of her!!!

  83. Sibkmubb Says:

    I wanted to live abroad preteen lolita model directory If its so fucking gross why the fuck you watch it? You fake ass fuck!

  84. Awthwrpe Says:

    Would you like to leave a message? loli 14 russian sex pretty much the best bubble butt i have ever seen and one of the best asses overall. plus she is very beautiful, has a killer body and love watching her cream all over the cock

  85. Hunter Says:

    I’ve lost my bank card real loli hhmmm i want to fouck that slut to

  86. Xaakmgnf Says:

    I’m training to be an engineer my lolitas teen model Why does the cameraman keep filming this guy? I think this guy might be the creepiest, ugliest guy in any movie anywhere. She must be a great actress. Poor girl!

Leave a Reply